Son zamanlarda google tarafından yeni tanıtılan Android Mimarisini keşfediyorum. Gönderen Belgeler ben bu bulduk:
public class MyViewModel extends ViewModel {
private MutableLiveData<List<User>> users;
public LiveData<List<User>> getUsers() {
if (users == null) {
users = new MutableLiveData<List<Users>>();
loadUsers();
}
return users;
}
private void loadUsers() {
// do async operation to fetch users
}
}
etkinlik bu listeye aşağıdaki şekilde erişebilir:
public class MyActivity extends AppCompatActivity {
public void onCreate(Bundle savedInstanceState) {
MyViewModel model = ViewModelProviders.of(this).get(MyViewModel.class);
model.getUsers().observe(this, users -> {
// update UI
});
}
}
Sorum şu, şunu yapacağım:
içinde
loadUsers()
işlevin Ben öncelikle bu veriler için veritabanı (Oda) kontrol edeceği uyumsuz verilerin alınmaya amVerileri orada alamazsam, verileri web sunucusundan almak için bir API çağrısı yapacağım.
Getirilen verileri veritabanına (Oda) ekleyeceğim ve kullanıcı arayüzünü verilere göre güncelleyeceğim.
Bunu yapmak için önerilen yaklaşım nedir?
Yöntemden Service
API'yi çağırmaya başlarsam loadUsers()
, MutableLiveData<List<User>> users
değişkeni bundan nasıl güncelleyebilirim Service
?