Согласно этому руководству: https://developer.android.com/jetpack/docs/guide?fbclid=IwAR2vtdeMmmnq6h-zcwTuLLLZcRdhr_pSPr7vT7ZebEL3K3EyR-CobCU07Q0#overview Я пытаюсь выполнить шаблон репозитория без использования автономной базы данных или кэша.Живые данные наблюдателей фрагмента во ViewModel и ViewModel извлекают данные из 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;
}
}
Есть ли способ получить данные при первом обращении с шаблоном хранилища (без сохранения в автономном режиме)?