最近有点闲,于是老大推荐我去看下Android Architecture Components相关的东西,后面的开发会大量用到这个。去度娘那里搜了一圈发现没有找到比较详细的博客,大概是这个技术比较新吧。于是只能去官方文档里面看,很头疼很后悔当时怎么没有好好学英语,不过也没办法,硬啃吧,还有现在有道词典的功能很强大,可以智能翻译= =。下面开始正题吧
一、概述
由于Android Architecture Components的体系有些大,所以先从overview开始吧:
Android Architecture Components翻译过来就是Android架构组件,通过官方文档的介绍我们可以得知它是一组库,可以帮助您设计健壮、可测试和可维护的应用程序。从管理UI组件生命周期和处理数据持久性的类开始。是Android Jetpack的一部分。
然后我们来看下面的几句话:
- 学习将一个健壮的应用程序与应用程序架构指南组合在一起的基础知识。
- 轻松管理应用程序的生命周期。新的lifecycle-aware components帮助您管理
Activity和Fragment的生命周期。保存配置更改,避免内存泄漏,并轻松地将数据加载到UI中。 - 使用LiveData构建数据对象,当底层数据库发生更改时,这些对象通知视图。
-
ViewModel存储与
UI相关的数据,这些数据不会在应用程序旋转时被销毁。 -
Room是一个
SQLite对象映射库。使用它可以避免样板代码,并可以轻松地将SQLite表数据转换为Java对象。Room提供SQLite语句的编译时检查,并可以返回RxJava、Flowable和LiveData observables。
应用程序架构指南中是一些适用于所有Android应用程序的有用原则,并展示了如何一起使用架构组件,即上面所提到的lifeCycle,LiveData,ViewModel以及Room。也就是说这四个组件是Android Architecture Components中占比比较重的组件了。
二、引入
在开始之前,推荐先阅读应用程序架构指南,其中是一些适用于所有Android应用程序的有用原则,并展示了如何一起使用架构组件。架构组件可以从谷歌的Maven存储库中获得。要使用它们,必须将存储库添加到项目中。
所以第一步需要在项目根目录的build.gradle中添加上google()的依赖:
allprojects {
repositories {
google()
jcenter()
}
}
接着,在app或者其他moudle的build.gradle中添加所需的组件的依赖。例如:
implementation "androidx.lifecycle:lifecycle-viewmodel:$lifecycle_version"
同时,这些组件还支持AndroidX,详细内容可以阅读AndroidX refactor documentation
三、总结
-
Android Architecture Components是一组库,可以帮助您设计健壮、可测试和可维护的应用程序。是Android Jetpack的一部分。 -
Android Architecture Components有四个比较重要的组件:
- lifecycle-aware components——生命周期相关
- LiveData——数据对象相关
- ViewModel——存储与
UI相关的数据- Room——数据库,数据持久化相关。
初次阅读官方文档,如有理解不当之处欢迎指正。












网友评论