标签:Jetpack APP 介绍 UI 提供 组件 Android
作为一名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库使用方法我们将会在下一篇文章中进行分享,谢谢支持。
标签:Jetpack,APP,介绍,UI,提供,组件,Android 来源: https://blog.csdn.net/littlebirdfirst/article/details/100862285
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。