根据本教程:https://developer.android.com/jetpack/docs/guide?fbclid=IwAR2vtdeMmmnq6h-zcwTuLLLZcRdhr_pSPr7vT7ZebEL3K3EyR-CobCU07Q0#overview我尝试不使用离线数据库或高速缓存来实现存储库模式。 ViewModel中的Fragment观察器livedata和ViewModel从Repo中获取数据。
问题:
“我的片段”仅在第二次调用时才获取数据(例如,当我旋转屏幕时)。
我认为这些代码行是repo类中的问题:
public class UserRepository {
private Webservice webservice;
// ...
public LiveData<User> getUser(int userId) {
// This isn't an optimal implementation. We'll fix it later.
final MutableLiveData<User> data = new MutableLiveData<>();
webservice.getUser(userId).enqueue(new Callback<User>() {
@Override
public void onResponse(Call<User> call, Response<User> response) {
data.setValue(response.body());
}
// Error case is left out for brevity.
});
return data;
}
}
有没有办法以存储库模式(没有离线持久性)获取第一次调用时的数据?