JetPack现在都成了Android开发必备技能嘛?( 二 )


Architecture指的是架构组件,帮助开发者设计稳健、可测试且易维护的应用 。架构组件可以说是对应用开发帮助最大的组件,本系列也是围绕着架构组件进行讲解 。
DataBinding:以声明方式将可观察数据绑定到界面元素,通常和ViewModel配合使用 。
Lifecycle:用于管理Activity和Fragment的生命周期,可帮助开发者生成更易于维护的轻量级代码 。
LiveData: 在底层数据库更改时通知视图 。它是一个可观察的数据持有者,与常规observable不同,LiveData是生命周期感知的 。Navigation:处理应用内导航 。
Paging:可以帮助开发者一次加载和显示小块数据,按需加载部分数据可减少网络带宽和系统资源的使用 。
Room:友好、流畅的访问SQLite数据库 。它在SQLite的基础上提供了一个抽象层,允许更强大的数据库访问 。
ViewModel: 以生命周期的方式管理界面相关的数据,通常和DataBinding配合使用,为开发者实现MVVM架构提供了强有力的支持 。
WorkManager: 管理Android的后台的作业,即使应用程序退出或设备重新启动也可以运行可延迟的异步任务 。
官方推荐的Android应用架构如下图所示 。

JetPack现在都成了Android开发必备技能嘛?

文章插图
 
这些架构组件既可以配合使用,也可以单独使用,这里建议还是尽量按照官方推荐的来 。
2. Foundationy(基础组件)
基础组件提供横向功能,例如向后兼容性、测试、安全、Kotlin 语言支持,并包括多个多个平台开发的组件 。
Android KTX:优化了供Kotlin使用的Jetpack和Android平台API 。帮助开发者以更简洁、更愉悦、更惯用的方式使用Kotlin进行Android开发 。AppCompat:帮助较低版本的Android系统进行兼容 。Auto: 开发Android Auto应用的组件,提供了适用于所有车辆的标准化界面和用户交互 。检测:从AndroidStudio中快速检测基于Kotlin或JAVA的代码 。多Dex处理:为具有多个Dex文件应用提供支持 。安全:安全的读写加密文件和共享偏好设置 。测试:用于单元和运行时界面测试的Android 测试框架 。TV: 构建可让用户在大屏幕上体验沉浸式内容的应用 。Wear OS:开发Wear应用的组件 。
3. Behavior(行为组件)
行为组件可帮助开发者的应用与标准Android服务(如通知、权限、分享)相集成 。CameraX:帮助开发简化相机应用的开发工作 。它提供一致且易于使用的界面,适用于大多数Android 。设备,并可向后兼容至Android 5.0(API 21) 。DownloadManager:处理长时间运行的HTTP下载的系统服务 。媒体和播放:用于媒体播放和路由(包括Google Cast)的向后兼容API 。通知:提供向后兼容的通知API,支持Wear和Auto 。权限:用于检查和请求应用权限的兼容性API 。设置:创建交互式设置,建议使用AndroidX Preference Library库将用户可配置设置集成到应用中 。分享操作:可以更轻松地实现友好的用户分享操作 。切片:切片是一种UI模板,创建可在应用外部显示应用数据的灵活界面元素 。
4. UI(界面组件)
Animation and Transition:该框架包含用于常见效果的内置动画,并允许开发者创建自定义动画和生命周期回调 。Emoji Compatibility:即便用户没有更新Android系统也可以获取最新的表情符号 。Fragment:组件化界面的基本单位 。布局:用XML中声明UI元素或者在代码中实例化UI元素 。调色板:从调色板中提取出有用的信息 。
五、在应用中引入Jetpack相关组件在项目build.gradle中添加google() 库,如下所示 。
allprojects {repositories {google()jcenter()}}如果想引入Room,可以在模块build.gradle中这么写:
implementation"android.arch.persistence.room:runtime:1.1.1"annotationProcessor"android.arch.persistence.room:compiler:1.1.1 "androidTestImplementation"android.arch.persistence.room:testing:1.1.1"总结这篇文章内部不多,旨在让大家了解Android Jetpack是什么,包括什么,如何引用,从下一篇开始,就开始学习Android Jetpack的架构组件 。
最后对于程序员来说,要学习的知识内容、技术有太多太多,要想不被环境淘汰就只有不断提升自己,从来都是我们去适应环境,而不是环境来适应我们!

【JetPack现在都成了Android开发必备技能嘛?】


推荐阅读