📅  最后修改于: 2023-12-03 14:39:09.503000             🧑  作者: Mango
在 Android 应用程序开发中,视图模型模式已被广泛应用。而共享视图模型模式又进一步提高了视图模型的效果。本文将介绍 Android 中的共享视图模型的概念、作用、实现方法以及使用时需要注意的事项。
共享视图模型是指在多个 Activity 或 Fragment 中共享同一个视图模型实例(ViewModel)。这种模式一般用于需要共享数据和逻辑的情况,比如实现 类似“购物车”、“收藏夹”等功能。
共享视图模型的实现需要借助 Android 架构组件中的 ViewModel、ViewModelProvider、ViewModelStoreOwner 等类。
public class SharedViewModel extends ViewModel {
private MutableLiveData<Integer> selectedItem = new MutableLiveData<>();
public void selectItem(int item) {
selectedItem.setValue(item);
}
public MutableLiveData<Integer> getSelectedItem() {
return selectedItem;
}
}
SharedViewModel model = new ViewModelProvider(requireActivity()).get(SharedViewModel.class);
model.selectItem(position);
SharedViewModel model = new ViewModelProvider(requireActivity()).get(SharedViewModel.class);
共享视图模型模式可以提高代码的可复用性和模块化程度,同时也带来了内存管理等问题。在使用时需要注意生命周期的维护和清理 ViewModel。