本文主要是介绍如何简单使用viewmodel
1.创建自己的ViewModel


2.使用ViewModel

核心代码:myViewModel = ViewModelProviders.of(this).get(MyViewModel.class);//注意是ViewModelProviders不是ViewModelProvider
3.使用成功效果


单纯使用ViewModel的话并不能体现出ViewModel的优点,即便MyViewModel不继承ViewModel也能实现同样的效果。
因此,ViewModel一般与LiveData结合使用,LiveData能监听数据的变化,详情见下一篇文章:Android jetpack :LiveData
ViewModel可使数据管理更加方便,有利于保存UI数据,翻转屏幕也不会丢失数据,也可以用于activity与fragment之间、activity与activity、fragment与fragment之间、service与activity之间的数据通信;在开发中如果能利用好google给我们提供的这个工具,开发效率将不可同日而语。
网友评论