本文基于SDK29一、ViewModel与LiveData的作用:1、viewModel:数据共享,屏幕旋转不丢失数据,并且在Activity与Fragment之间共享数据。 2、LiveData:感知生命周期并且通知观察者刷新,防止内存泄漏。 二、用法 三、原理:1、ViewModel:ViewModelProviders.of(this).get(MyViewModel::class.java)我们通过这个方法来构造ViewModel。@NonNull@MainThreadpublicstaticViewModelProviderof(@NonNullFragmentActivityact
View在实现Views时并不需要遵循什么特别指南,尽管MVIKotlin提供的东西可能会很有用。在MVIKotlin中有两个有关View的接口:ViewRenderer使用并渲染``Models。ViewEvents生产Events。还有一个MviView接口,它不过是同时包含了ViewRenderer和ViewEvents接口。通常不需要直接实现MviView接口,可以通过继承BaseMviView类来实现。如果使用的是JetpackCompose,那么很有可能你不需要用到MviView或它的其他超类。你可以直接在@Composable函数中监听Store。详情参阅ComposeTodoA
View在实现Views时并不需要遵循什么特别指南,尽管MVIKotlin提供的东西可能会很有用。在MVIKotlin中有两个有关View的接口:ViewRenderer使用并渲染``Models。ViewEvents生产Events。还有一个MviView接口,它不过是同时包含了ViewRenderer和ViewEvents接口。通常不需要直接实现MviView接口,可以通过继承BaseMviView类来实现。如果使用的是JetpackCompose,那么很有可能你不需要用到MviView或它的其他超类。你可以直接在@Composable函数中监听Store。详情参阅ComposeTodoA
要看本系列其他文章,可访问此链接Jetpack架构学习|Stars-One的杂货小窝原文地址:Jetpack架构组件学习(2)——ViewModel和Livedata使用|Stars-One的杂货小窝Jetpack架构推荐使用MVVM结构,为此推出了几个MVVM的组件库供我们开发者快速接入,首先要讲的就是ViewModel个人理解:Activity为View,VM就是ViewModel,负责数据的逻辑处理,Model则是数据源ViewModel介绍ViewModel能做什么?ViewModel生命周期与Activity独立,可以优雅的保存内存中的数据(在屏幕旋转的横竖屏切换时,数据可以得到保留
要看本系列其他文章,可访问此链接Jetpack架构学习|Stars-One的杂货小窝原文地址:Jetpack架构组件学习(2)——ViewModel和Livedata使用|Stars-One的杂货小窝Jetpack架构推荐使用MVVM结构,为此推出了几个MVVM的组件库供我们开发者快速接入,首先要讲的就是ViewModel个人理解:Activity为View,VM就是ViewModel,负责数据的逻辑处理,Model则是数据源ViewModel介绍ViewModel能做什么?ViewModel生命周期与Activity独立,可以优雅的保存内存中的数据(在屏幕旋转的横竖屏切换时,数据可以得到保留
原文地址:Jetpack架构组件学习(1)——LifeCycle的使用|Stars-One的杂货小窝要看本系列其他文章,可访问此链接Jetpack架构学习|Stars-One的杂货小窝最近有时间了,准备入坑Jetpack架构,第一篇就学个简单的LifeCycle,可以帮助开发者创建可感知生命周期的组件。介绍为什么需要LifeCycle组件?在很多情况下,我们需要在Activity的相关生命周期中进行相关的初始化操作,比如上一节说到的EventBus,需要在OnCreate()和onDestroy()方法中进行绑定和解绑,我们可以使用此组件来简化操作(下面的例子即是使用LifeCycle去简化E
原文地址:Jetpack架构组件学习(1)——LifeCycle的使用|Stars-One的杂货小窝要看本系列其他文章,可访问此链接Jetpack架构学习|Stars-One的杂货小窝最近有时间了,准备入坑Jetpack架构,第一篇就学个简单的LifeCycle,可以帮助开发者创建可感知生命周期的组件。介绍为什么需要LifeCycle组件?在很多情况下,我们需要在Activity的相关生命周期中进行相关的初始化操作,比如上一节说到的EventBus,需要在OnCreate()和onDestroy()方法中进行绑定和解绑,我们可以使用此组件来简化操作(下面的例子即是使用LifeCycle去简化E
原文地址:JetpackCompose学习(8)——State状态及remeber关键字-Stars-One的杂货小窝之前我们使用TextField,使用到了两个关键字remember和mutableStateOf,这两个是做什么用的呢?本篇特来补充说明下本系列以往文章请查看此分类链接Jetpackcompose学习mutableStateOf之前也说过,compose是MVVM模式的一种实现,UI界面依赖数据,数据改变即改变UI这里需要去监听数据,当数据发生改变才会触发UI渲染,改变UIAndroid官方将上面这种情况称之为重组,我个人理解觉得重新渲染这个词更好说明由于数据变化监听逻辑复杂,
原文地址:JetpackCompose学习(8)——State状态及remeber关键字-Stars-One的杂货小窝之前我们使用TextField,使用到了两个关键字remember和mutableStateOf,这两个是做什么用的呢?本篇特来补充说明下本系列以往文章请查看此分类链接Jetpackcompose学习mutableStateOf之前也说过,compose是MVVM模式的一种实现,UI界面依赖数据,数据改变即改变UI这里需要去监听数据,当数据发生改变才会触发UI渲染,改变UIAndroid官方将上面这种情况称之为重组,我个人理解觉得重新渲染这个词更好说明由于数据变化监听逻辑复杂,
Jetpack学习之ViewModel、Lifecycles、LiveData声明:本学习笔记基于郭霖大大的《第一行代码第3版》并结合官方文档、网络资源以及个人理解整理而成,欢迎大家讨论指正Jetpack简介主要组成 Jetpack是一个开发工具集,能够协助开发者编写出更简洁的代码,简化开发过程,并且这些组件有一个很好的特点,他们大部分不依赖与任何Android系统版本,这意味着这些组件通常是定义在AndroidX库当中,并且拥有非常好的向下兼容性。 Jetpack全家桶包含内容非常多,主要可分为基础、架构、行为、界面4个部分,本次学习主要聚焦于对架构的学习,其中很多组件更是专门为MVVM