2016-08-16 43 views
0

在此,我用Book类来存储我的反应。我想添加多个服务,而不是这个类。请让我知道如何使用这种情况。的Android Retrofit1.9.0如何使用通用类多个方法来保存响应

private void getBooks() { 
     //While the app fetched data we are displaying a progress dialog 
     final ProgressDialog loading = ProgressDialog.show(this, "Fetching Data", "Please wait...", false, false); 
     final String authorizationString = "Basic " + Base64.encodeToString(
       ("#username" + ":" + "#password").getBytes(), 
       Base64.NO_WRAP); 

    RequestInterceptor requestInterceptor = new RequestInterceptor() { 
     @Override 
     public void intercept(RequestFacade request) { 

      request.addHeader("Authorization", authorizationString); 

     } 
    }; 

    //Creating a rest adapter 
    RestAdapter adapter = new RestAdapter.Builder() 
      .setEndpoint(ROOT_URL) 
      .setRequestInterceptor(requestInterceptor) 
      .build(); 

    //Creating an object of our api interface 
    BooksAPI api = adapter.create(BooksAPI.class); 



    api.createUser(user, new Callback<Book>() { 
     @Override 
     public void success(Book book, Response response) { 
      loading.dismiss(); 
      Log.i("s", "s"); 

      SimpleDateFormat sdf = new SimpleDateFormat("HH:mm:ss"); 
      String currentDateandTime = sdf.format(new Date()); 
      _time.append("\n Time After service :" + currentDateandTime); 

      Toast.makeText(context, "", Toast.LENGTH_SHORT).show(); 
     } 


     @Override 
     public void failure(RetrofitError error) { 
      loading.dismiss(); 
      Log.i("s", "etr"); 
      Toast.makeText(MainActivity.this, error.getMessage(), Toast.LENGTH_SHORT).show(); 
     } 
    }); 
} 
+1

尝试扩大你的问题。很难理解你在问什么。 – Bryan

+0

亲爱@mehrdad,我想使用上述单一的方法调用超过2个不同的服务。并希望将数据存储在不同的类中。那么,我如何获得和存储不同类别的回复。 – AndroidKing

回答

0

你可以把你常用的代码在像应用程序的任何单例类。假设你的基本url将是相同的,所以不需要像BookAPI一样创建不同的服务类,而是创建一个服务文件并将所有api放在那里。通用代码: -

RequestInterceptor requestInterceptor = new RequestInterceptor() { 
    @Override 
    public void intercept(RequestFacade request) { 

     request.addHeader("Authorization", authorizationString); 

    } 
}; 

//Creating a rest adapter 
RestAdapter adapter = new RestAdapter.Builder() 
     .setEndpoint(ROOT_URL) 
     .setRequestInterceptor(requestInterceptor) 
     .build(); 

//Creating an object of our api interface 
BooksAPI api = adapter.create(BooksAPI.class); 

BooksAPI api可以移动到课程级别,您可以通过公共方法从活动访问它。

+0

Thanks for ua answer @ Ramit ..但是这里我想使用两种不同的服务,我的意思是URL不同 – AndroidKing

+1

api.createUser(user,new Callback (){ @Override public void success(Book book,Response response){ } 这里回调()是存储的响应。当我使用多个服务存储类可能会有所不同。因此,在这种情况下,我该如何使用泛型类的类.. – AndroidKing

相关问题