ViewModel

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

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

架构组件的官方开发者文档:
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

架构组件实例:
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

你可能感兴趣的:(分享)