架构组件之 ViewModel | 中文教学视频

生命周期管理库 (Lifecycles) 由三个组件构成,包括 Lifecycle、LiveData 和 ViewModel。它可以用来解决常见的生命周期问题,同时使您的应用程序易于测试且可维护。

ViewModel 用于提供和管理 UI 界面的数据。通过使用 ViewModel,开发者可以方便的将 UI 界面和数据逻辑剥离开来,从而达到 UI 界面 Activity 和 Fragment 负责显示数据和处理用户操作;ViewModel 则负责提供和管理 UI 界面的数据,并且负责和数据层通讯的效果。与此同时,也让您在开发过程中更好地遵循单一职责的设计原则。此外,ViewModel 的另一大特点是它不会因为配置变更而销毁。

我们来看下视频讲解☟

class="video_iframe" data-vidtype="2" allowfullscreen="" frameborder="0" data-ratio="1.7666666666666666" data-w="848" data-src="http://v.qq.com/iframe/player.html?vid=m0605c1sejh&width=670&height=376.875&auto=0" style="display: none; width: 670px !important; height: 376.875px !important;" width="670" height="376.875" data-vh="376.875" data-vw="670"/>

在视频的代码示例中,我们使用了 Kotlin 来创建 ViewModel, 创建 ViewModel 方法如下:

  • 在 build.gradle 文件里加入生命周期管理库 (Lifecycle);

  • 继承 ViewModel 类;

  • 使用 ViewModelProviders 来关联 ViewModel 和相对应的UI组件


接着把曾经保存在 UI 界面中的数据剥离出来,使用 ViewModel 来管理这些数据。如果您需要自定义 ViewModel 的构造函数,则使用 ViewModelProvider.NewInstanceFactory。


我们还推荐开发者同时使用 ViewModel 和另一个生命周期组件 LiveData 来实现响应式的 UI 界面。


*注意事项:不要在 ViewModel 中引用 View,使用 LiveData 来通知界面更新;不要混淆 ViewModel 和 onSaveInstanceState 方法的用途。


另,生命周期管理库 LiveDataRoom 视频即将上线,敬请期待。


更多详细内容介绍,请访问以下文档链接

> 架构组件的官方开发者文档:
https://developer.android.google.cn/arch


> ViewModel 的文档: 
https://developer.android.google.cn/topic/libraries/architecture/viewmodel.html


> 应用程序架构指南:
https://developer.android.google.cn/topic/libraries/architecture/guide.html  


> 使用生命周期管理库的架构组件实例

- Java: 
https://github.com/googlesamples/android-architecture/tree/dev-todo-mvvm-live/

- Kotlin:
https://github.com/googlesamples/android-architecture/tree/dev-todo-mvvm-live-kotlin/


架构组件实例:
> https://github.com/googlesamples/android-architecture-components


ViewModelFactory 实例:

> https://github.com/googlesamples/android-architecture/blob/dev-todo-mvvm-live/todoapp/app/src/main/java/com/example/android/architecture/blueprints/todoapp/ViewModelFactory.java


Android 生命周期备忘录: 
> https://juejin.im/post/5a77c9aef265da4e6f17bd51


视频播放列表地址

> 腾讯视频链接:
https://v.qq.com/x/page/m0605c1sejh.html


> 优酷链接:

http://v.youku.com/v_show/id_XMzQ2NDc5OTgyNA==.html


> YouTube 链接:

https://www.youtube.com/watch?v=mpO-aEXhX78



推荐阅读

Android P 开发者预览版首发!

Android P 开发者预览版新亮点 | 视频介绍

隆重推出 Android KTX,让 Kotlin 的开发更美妙!

Android NDK | 中文介绍视频

Android Oreo 自适应图标 | 中文教学视频

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值