jjzjj

viewModel

全部标签

android - MVVM 模式和 startActivity

我最近决定仔细研究Google发布的新Android架构组件,尤其是使用他们的ViewModel生命周期感知类到MVVM架构和LiveData。只要我处理单个Activity或单个Fragment,一切都很好。但是,我找不到处理Activity切换的好解决方案。比如说,为了一个简短的例子,A​​ctivityA有一个启动ActivityB的按钮。startActivity()会在哪里处理?按照MVVM模式,clickListener的逻辑应该在ViewModel中。但是,我们希望避免在其中引用Activity。因此,将上下文传递给ViewModel不是一种选择。我缩小了几个看起来“可以

Android ViewModel 没有零参数构造函数

我关注this文档以了解LiveData和ViewModel。在文档中,ViewModel类有这样的构造函数,publicclassUserModelextendsViewModel{privateMutableLiveDatauser;@InjectUserModel(MutableLiveDatauser){this.user=user;}publicvoidinit(){if(this.user!=null){return;}this.user=newMutableLiveData();}publicMutableLiveDatagetUser(){returnuser;}}但是

Android ViewModel 没有零参数构造函数

我关注this文档以了解LiveData和ViewModel。在文档中,ViewModel类有这样的构造函数,publicclassUserModelextendsViewModel{privateMutableLiveDatauser;@InjectUserModel(MutableLiveDatauser){this.user=user;}publicvoidinit(){if(this.user!=null){return;}this.user=newMutableLiveData();}publicMutableLiveDatagetUser(){returnuser;}}但是

Android ViewModel 附加参数

除了应用程序上下文之外,有没有办法将其他参数传递给我的自定义AndroidViewModel构造函数。示例:publicclassMyViewModelextendsAndroidViewModel{privatefinalLiveData>myObjectList;privateAppDatabaseappDatabase;publicMyViewModel(Applicationapplication,Stringparam){super(application);appDatabase=AppDatabase.getDatabase(this.getApplication());

Android ViewModel 附加参数

除了应用程序上下文之外,有没有办法将其他参数传递给我的自定义AndroidViewModel构造函数。示例:publicclassMyViewModelextendsAndroidViewModel{privatefinalLiveData>myObjectList;privateAppDatabaseappDatabase;publicMyViewModel(Applicationapplication,Stringparam){super(application);appDatabase=AppDatabase.getDatabase(this.getApplication());

【Jetpack】Room + ViewModel + LiveData 综合使用 ( 核心要点说明 | 组合方式 | 代码示例 )

文章目录一、Room+ViewModel+LiveData框架使用核心要点1、Room框架优化分析2、Google官方建议的Room+ViewModel+LiveData架构3、Room与LiveData结合使用要点4、Repository层核心要点5、ViewModel+Room结合使用6、Activity组件中ViewModel使用要点7、Room框架主动查询数据库数据需保留除LiveData返回值外的正常查询方法二、完整代码示例1、build.gradle构建脚本2、Room框架相关代码Entity实体类Dao数据库访问接口对象Database数据库实体类3、Repository代码4、

ViewModel和LiveData的基本使用

文章目录ViewModel是干什么的?LiveData是干什么的?LiveData和ViewModel实现跨页面通信1.首先创建一个TimerViewModel类继承ViewModel2.在Activity或是fragment进行监听观察总结ViewModel是干什么的?在页面(活动/碎片)中,在很简单的情况在我们会将UI交互,数据的获得与处理等相关的逻辑,全都放在一个页面中,但是如果我们要处理的业务很复杂,这样做会显得代码冗杂且不利于解读,这样不符合"单一责任"原则.所以页面就应该只是负责接收用户的交互以及数据的展示,其他逻辑应该放在另外一个东西上面,为此,Android为我们提供了View

Android:单Activity多Fragment,Navigation实现Fragment跳转,Fragment之间通过ViewModel共享数据

单Activity多Fragment,Navigation实现Fragment跳转,Fragment之间通过ViewModel共享数据1、MainActivity2、HomeFragment,DetailFragment2.1、HomeFragment2.2、DetailFragment3、MyViewModel参考1、MainActivity1、activity_main.xml?xmlversion="1.0"encoding="utf-8"?>androidx.constraintlayout.widget.ConstraintLayoutxmlns:android="http://sc

Android:单Activity多Fragment,Navigation实现Fragment跳转,Fragment之间通过ViewModel共享数据

单Activity多Fragment,Navigation实现Fragment跳转,Fragment之间通过ViewModel共享数据1、MainActivity2、HomeFragment,DetailFragment2.1、HomeFragment2.2、DetailFragment3、MyViewModel参考1、MainActivity1、activity_main.xml?xmlversion="1.0"encoding="utf-8"?>androidx.constraintlayout.widget.ConstraintLayoutxmlns:android="http://sc

Jetpack之ViewModel

1.介绍ViewModel类旨在以注重生命周期的方式存储和管理界面相关的数据。ViewModel类让数据可在发生屏幕旋转等配置更改后继续留存。Android框架可以管理界面控制器(如Activity和Fragment)(记住这个术语,后面分析时会出现)的生命周期。如果系统销毁或重新创建界面控制器,则存储在其中的任何瞬态界面相关数据都会丢失。例如,应用可能会在它的某个Activity中包含用户列表。为配置更改重新创建Activity后,新Activity必须重新提取用户列表。对于简单的数据,Activity可以使用onSaveInstanceState()方法从onCreate()中的捆绑包恢复