作为一名Android开发者,在APP开发过程中,对于生命周期管理、数据管理、多线程处理、后台任务、导航、页面等功能开发存在各种各样的问题。Google针对这一开发痛点,创建了一个组件库,这就是Jetpack。
自2018 Google I/O发布Jetpack以来,已经补充了针对Android UI、行为、架构、基础四个领域涉及共30个库,框架图如下:
Jetpack组件库框架图
Jetpack 使用优点
Jetpack可帮助开发人员更轻松地编写高质量的应用程序,其优点有:
-
提升开发效率
组件可以单独使用,也可以结合起来使用,同时加入Kotlin语言功能,提高开发效率
-
消除样板代码
Android Jetpack管理繁琐的活动,如后台任务,导航和生命周期管理,开发者使用Jetpack库可以将样板代码处理的逻辑交由库去完成,专注于具体业务逻辑实现,提升代码质量
-
构建高品质程序
围绕现代设计实践,使用Jetpack组件可以减少崩溃,减少内存泄漏,并提供向后兼容性。(Jetpack逐步将库迁移到androidx.*包中,与android 平台API隔离,这样能够带来更频繁的更新,开发者可以始终保持最新和最好的Jetpack组件版本使用)
Jetpack 组件介绍
Jetpack提供了基础、架构、行为、UI四个领域的库,其中:
-
基础组件提供跨领域功能
-
架构组件可帮助开发者提升程序健壮性、可测试性与可维护性
-
行为组件帮助应用程序与标准Android服务集成
-
UI组件提供小部件和帮助程序,简化UI开发
基础组件:
-
Android KTX,Kotlin代码优化
-
AppCompat, 提供向后兼容性
-
Auto,提供Android Auto(车载)开发支持
-
Benchmark,在AndroidStudio中快速测试基于Java或Kotlin的代码
-
Multidex, 为具有多个DEX文件的应用程序提供支持
-
Security,在读写加密文件和SharedPreference时提供最佳安全方案
-
Test, 提供单元和运行时UI测试的Android测试框架
-
TV, Android TV开发支持
-
Wear OS by Google, 穿戴支持
架构组件:
-
Data Binding,可观察数据绑定到UI元素
-
Lifecycles,管理Activity或Fragment的生命周期
-
LiveData,基础数据发生变化时通知View更新
-
Navigation,处理应用内所有导航事件
-
Paging, 从数据源分页加载信息
-
Room,流畅的Sqlite数据库访问支持
-
ViewModel,基于界面生命周期的方式管理UI相关的数据
-
WorkManager,管理APP后台任务
行为组件:
-
CameraX,快速为应用添加相机功能
-
DownloadManager,计划和管理下载相关业务
-
Media & Playback, 用于媒体播放和路由的向后兼容API(含Google Cast)
-
Notifications,提供向后兼容的通知API,支持Wear和Auto
-
Permissions,提供检查和请求APP权限的兼容API
-
Preferences,创建交互式设置屏幕
-
Sharing,提供适合APP ActionBar的共享操作
-
Slices,创建可在APP外部显示APP数据的灵活UI元素
UI组件:
-
Animation & Transitions,移动Widgets并在屏幕间切换
-
Emoji,提供旧平台的最新Emoji支持
-
Fragment,提供Fragment支持
-
Layout,提供不同算法布置小部件
-
Palettes,从调色板中提取有效信息
Jetpack的基本功能介绍到这里就结束了,开发者最关注的的应该是如何使用Jetpack库进行开发呢?具体的Jetpack库使用方法我们将会在下一篇文章中进行分享,谢谢支持。