【发布时间】:2020-02-25 09:22:25
【问题描述】:
我正在尝试在我现有的项目中实现 MVVM 模式。我对我阅读过的大量开发人员网站和教程感到困惑,但在所有地方都使用了仅与实时数据和视图模型一起使用的 MVVM 模式。不使用 LiveData 和 ViewModel 有没有可能我们可以使用 MVVM 模式
问题1.不使用LiveData和ViewModel我们可以使用MVVM模式android吗?
问题 2。不使用 LiveData 将 ViewModel 扩展到某个类有什么用(例如类 Test 扩展 ViewModel)
我正在做 RecyclerView 分页,每次滚动结束时都会获取一组记录,如下所示
ProfileListViewModel viewModel =
ViewModelProviders.of(this).get(ProfileListViewModel.class);
//to get first set of records
viewModel.getProfileList().observe(this, new Observer<List<Profiles>>() {
@Override
public void onChanged(@Nullable List<Profiles> profiles) {
if (projects != null) {
//…
profileAdapter.setProfiles(profiles);
}
}
});
//to get second set of records
viewModel.getRemaningProfileList().observe(this, new Observer<List<Profiles>>() {
@Override
public void onChanged(@Nullable List<Profiles> profiles) {
if (projects != null) {
//…
profileAdapter.setProfiles(profiles);
}
}
});
问题 3:对于使用 MVVM 的这个功能,我们是否需要像上面一样使用两个方法调用(两个 LiveData 对象)来获取新记录,否则每次有其他选择吗?这让我很困惑。
问题 4:有时我会再次在 SQLite android 中插入一些记录,我会从头开始调用此方法,例如 (viewModel.getProfileList().observe())...之后'
我正在清除当前的 LiveData 并再次设置新记录。是否有任何可能性,比如一旦插入/更新记录,它就会自动刷新数据。
谢谢..
【问题讨论】:
标签: android mvvm viewmodel android-livedata