一、为什么有Jetpack?
Android发展至今已经有很多年了,Android开发的碎片化问题一直存在。Jetpack 是一个由多个组件库组成的套件,目的是帮助开发者遵循最佳做法、编写可在各个 Android 系统设备中一致运行的代码,让开发者可将精力集中于真正重要的编码工作。Jetpack的出现代表谷歌标准化开发模式的推进,代表了Android开发的未来大致方向,意味着Android发展已经从碎片化转向统一化。
二、Android jetpack组成
image.pngArchitect(架构)
- Data Binding :
以声明方式将可观察数据绑定到界面元素,通常和ViewModel配合使用。 - Lifecycles :
用于管理Activity和Fragment的生命周期,可帮助开发者生成更易于维护的轻量级代码。 - LiveData :
在底层数据库更改时通知视图。它是一个可观察的数据持有者,与常规observable不同,LiveData是生命周期感知的。 - Room :
友好、流畅的访问SQLite数据库。它在SQLite的基础上提供了一个抽象层,允许更强大的数据库访问。 - ViewModel :
以生命周期的方式管理界面相关的数据,通常和DataBinding配合使用,为开发者实现MVVM架构提供了强有力的支持。 - WorkManager :
管理Android的后台的作业,即使应用程序退出或设备重新启动也可以运行可延迟的异步任务。 - Navigation :
管理应用内导航处理 - Paging :
可以帮助开发者一次加载和显示小块数据,按需加载部分数据可减少网络带宽和系统资源的使用。
Foundation(基础)
- AppCompat :
帮助较低版本的Android系统进行兼容。 - Android KTX :
优化了供Kotlin使用的Jetpack和Android平台API。帮助开发者以更简洁、更愉悦、更惯用的方式使用Kotlin进行Android开发。 - Multidex :
Android分包我多个dex的支持。 - Test :
用于单元和运行时界面测试的Android 测试框架。
Behavior(行为)
- DownLoad Manager :
处理长时间运行的HTTP下载的系统服务。 - Media & Playback :
用于媒体播放和路由(包括Google Cast)的向后兼容API。 - Permissions :
用于检查和请求应用权限的兼容性API。 - Notification :
提供向后兼容的通知API,支持Wear和Auto。 - Sharing :
可以更轻松地实现友好的用户分享操作。 - Slices :
切片是一种UI模板,创建可在应用外部显示应用数据的灵活界面元素。
UI(界面组件)
- Animation & Transitions
该框架包含用于常见效果的内置动画,并允许开发者创建自定义动画和生命周期回调。 - Auto,Tv&Wear
开发Android Auto应用的组件,提供了适用于所有车辆的标准化界面和用户交互。 - Emoji
即便用户没有更新Android系统也可以获取最新的表情符号。 - Fragment
组件化界面的基本单位。 - Layout
用XML中声明UI元素或者在代码中实例化UI元素。 - Palette
从调色板中提取出有用的信息。
网友评论