ViewModel的出现主要为了解决两个问题:1.当Actvitiy销毁重建过程中的数据恢复问题,虽然原来可以使用onSaveInstanceState()来完成,但是只支持能被序列化的数据而且是小量数据,对于大量数据则显得有点无力。2.UI控制器的工作繁忙,UI控制器主要用于处理显示,交互 ...
ViewModel是 JetPack类库中的一个功能,可以保存控件的状态 ,在整个Activity生命周期中,状态不会失效 如屏幕翻转时,状态可保留,不会失效 与 LiveData配合使用 配合 Room 进行 Sqlite操作数据库 新建 ViewModel类,在MainActivity类的父结点上右击,点创建java类 注意:Superclass中要选 ViewModel . ViewMode ...
2019-11-01 20:12 0 513 推荐指数:
ViewModel的出现主要为了解决两个问题:1.当Actvitiy销毁重建过程中的数据恢复问题,虽然原来可以使用onSaveInstanceState()来完成,但是只支持能被序列化的数据而且是小量数据,对于大量数据则显得有点无力。2.UI控制器的工作繁忙,UI控制器主要用于处理显示,交互 ...
需要实现 ViewModelProvider.Factory class MyModel(val id: String) : ViewModel() { class ViewModeFactory(private val id: String ...
今天学习了ViewModel,其是Jetpack的一个类,它可以将界面中的数据独立出来,这样不会造成页面上信息的丢失。 我跟着视频做了一个简单的实例: 首先创建项目的时候它和以往的项目会有些不一样,因为需要使用Jetpack库,所以需要勾选上Use legacy android ...
自己对MVVM的理论知识了解了许多,但是对于Android中究竟要如何体现,一直都不是很明了,今天在在官方API里,看到了一个经典的MVVM架构。 ViewModel is a class that is responsible for preparing and managing ...
目录 1 什么是 ViewModel 1.1 先考虑两个场景 1.2 缺点 1.3 特别说明 1.4 ViewModel 解决的问题 2 ViewModel 实现原理 2.1 ViewModel 类 2.2 ...
带着下面的这个问题开始ViewModel的学习: ViewModel的生命周期是如何控制的,并且如何保证在一定范围内的唯一性? 官方文档里这样写到: The ViewModel class is designed to store ...
依赖 android.arch.lifecycle:extensions:1.1.1用于引用ViewModelProviders ViewModelProviders官方文档 EyeKeyService.java EyeKeyRepository.java ...