为了账号安全,请及时绑定邮箱和手机立即绑定

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

标签:
Android

5b77a56900017fa710800604.jpg

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

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


我们来看下视频讲解

http://www.apkbus.com/plugin.php?id=apkbus_video&op=item&vid=1009


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

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

  • 继承 ViewModel 类;

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


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

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

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


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

> 架构组件的官方开发者文档:

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 ... ewModelFactory.java

原文链接:http://www.apkbus.com/blog-810076-77538.html

点击查看更多内容
2人点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消