我想爲我的下一個Android項目使用Retrofit 2.1.0。我想用設計模式,並因此創造單獨的類爲每個REST調用即如何從改造onResponse()更新Activity/Fragment UI?
IBalanceService.java
public Interface IBalanceService{
@GET("users/{username}")
void getUser(@Path("username") String username, Callback<User> cb);
}
BalanceRestClient.java
public class BalanceRestClient{
String username = "Makarov";
Retrofit retrofit = new Retrofit.Builder()
.baseUrl("http://hovermind.com")
.addConverterFactory(GsonConverterFactory.create())
.addCallAdapterFactory(rxAdapter)
.build();
IBalanceService bs = retrofit.create(IBalanceService.class);
Call<User> call = apiService.getUser(username);
call.enqueue(new Callback<User>() {
@Override
public void onResponse(Call<User> call, Response<User> response) {
User user = response.body();
// update Activity/Fragment from here
}
@Override
public void onFailure(Call<User> call, Throwable t) {
// Log error here since request failed
}
});
}
BalanceActivity.java
public BalanceActivity extends Activity{
// BalanceRestClient will update some UI elements
}
如何從onResponse()更新我Activity/fragment中的UI?
附加信息:
分鐘SDK:19
目標SDK:23
改造2.1.0與OkHttp和GSON
有一個[問題在這裏(http://stackoverflow.com/q/34184088/4802664)但只有一個答案,它並沒有解決我的問題。 –
檢查http://stackoverflow.com/a/40957059/4247543 –