为了使用MVVM架构模式开发APP,才了解到Android本身也是提供一些列库来支持MVVM架构模式的。只是使用MVVM架构模式开发的APP和之前的开发有了很大的区别。MVVM是以数据来驱动的,即数据(Model)改变--》UI绑定的变量(ViewModel)变化--》相应数据会自动更新至UI(View),不需要再进行主动的操作UI的更新逻辑。另外,User改变UI(View)的数据--》触发UI绑定的命令并进行数据处理(ViewModel)--》把数据更新至相应的Model中。
想要使用MVVM模式进行开发Android应用,一些知识点是必须知道的,下面就开始研究Google开发文档了。有什么不对的地方敬请指出。
Android架构组件是一些列库集合,它帮助我们设计一个健壮的、可测试的、可维护的APP。它是以管理UI组件lifecycle和处理数据persistence开始的。
- 通过学习APP架构知道文档来组件一个健壮的APP。
- 管理APP lifecycle。新的lifecycle-aware components帮助管理Activity和Fragment的lifecycles。Survive配置改变,避免内存泄漏以及更容易把数据加载到UI中。
- 使用LiveData绑定数据对象,当潜在的DB改变时,用来通知views。
- ViewModel用来存储和UI相关联的数据,这些数据不会随着APP的旋转而销毁。
- Room是一个SQLite对象的映射库。它可以避免样板代码(boilerplate)以及更容易地把SQLite table data转换成java对象。Room提供了Sqlite语句的编译时检查,返回Rxjava,Flowable,LiveData observables.