赞
踩
Jetpack是什么?
(1)是一套组件库,它是由多个不同的组件库构成的
(2)使用jetpack可以帮助我们在不同的android版本和不同设备上,实现行为一致的工作代码。(jetpack可以轻松的处理由android版本不一致和设备不同产生的差异性和兼容性问题)
经过统计目前jetpack一共包含85个组件库:
1. 核心类(8个)你可以把它理解为基础类,也就是说我们一个最基本的Android工程都会默认依赖这些组件库。
activity.xxx -----Activity相关
arch.core-----架构组件辅助包
annotation----注解,提升代码可读性,内置android中最常用的注解
collection----android中为优化内存而设计的数据结构
core-----android核心库,针对最新的特性和API向下兼容
Customview----自定义view的辅助类
fragmentxxx----Fragment工具包
appcompat*xxx---- 向下兼容包,确保在不同android版本设备上,都可以使用最新的特性,主要针对UI
2. 架构组件(10个),Jetpack推出之后很令人兴奋的一点,就是Google引入了现代Android应用开发的架构指南,结合MVVM的架构设计,帮助我们轻松的处理UI与业务逻辑之间的关系。
databindingxxx-----在xml文件中绑定view和model
hiltxxx ---- 基于Dagger的android依赖注入框架,绑定view和model
roomxxx-----SQL数据库
lifecyclexxx------生命周期处理组件
navigationxxx ---- 单activity多fragment的导航处理框架
pagingxxx ---- Recycleview的分页加载器
startupxxx----- 自动处理依赖初始化
workxxx-----WorkManager后台任务调度
datastorexxx—Preferences的替代类,支持异步,更加安全
savedstatexxx ----生命周期处理组保存轻量级的数据,用于当系统进程被杀再恢复时,保证用户数据不丢失
3. UI组件(22个)说明:大多数的UI组件其实都包含着核心组件中的appcompat*中了,这里列出的是Jetpack中以独立组件库存在的UI组件。
browser—使用Chrome实现app内浏览器tab的显示
drawerlayout ------抽屉布局
interpolator------动画插值器
dynamicanimation—基于物理基础的动画库
palette-----从图像中获得调色盘
constraintlayout----约束布局
recyclerview---- 可复用的滑动列表
coordinatorlayout----顶层布局继承者FrameLayout,可以实现子view之间的联动交互效果
swiperefreshlayout----下拉刷新布局
transition----layout之间过渡的动画
vectordrawable—矢量图渲染
viewpager2 — 分页布局
webkit-----webview
Material Design Components*xxx-----MD组件
4. 特殊业务组件(16个)根据不同的业务场景,选择性的使用
ads----Google广告ID获取
autofill----自动填充服务
biometric-----生物识别,用于身份或设备验证的工具包
camera*xxx-----cameraX相机相关
documentFile — 与本地文件管理器交互
media2----媒体资源控制器viewcontroller+session
heifwriter-----使用android设备上的可用编解码器以HEIF格式对图像或者图像集合进行编码
preference----自带数据存储功能设置页面的实现
mediarouter----远程控制media播放
multidex----在android5.0以下的设备上实现多dex文件支持
sharetarget-----android默认分享相关
security------加密相关,针对用户关键文件和数据
slice----在app外,例如搜索、Google助手中显示UI组件
textclassifier—文本分类,可以分析文本做进一步的Action
window----针对不同屏幕的支持,例如折叠屏
5. 游戏、车载、TV等开发中用到的组件
car-----车载应用相关
contentpager-----为使用ContentResolver时提供后台的分页数据功能
enterprise----企业应用支持
games-----游戏相关
jetifier-------将旧的support依赖转化为androidx
leanback----android TV相关
print-----打印相关帮助类
recommmentdation----Android TV相关
remoteCallBack-----PendingIntent封装实现
slidingpanelayout-----滑动布局
tracing-----事件跟踪相关
tvprovider-----androidTV相关
versionedparcelable-----序列化
wear-----手表相关
concurrent----帮助实现ListenableFuture和kotlin协程之间的转换,ListenableFuture是Guava里处理并发的一个类
6. 弃用组件(11个)一部分是不再维护,一部分是因为Jetpack有更好的替代解决方案
asynclayoutinflater------异步生成UI
Cursoradapter------listview的游标辅助类
gridlayout----网格布局
legacy—已弃用
loader----当配置改变时恢复UI的数据
localBroadcastmanager----本地广播
media----使用media2替代 媒体资源控制器
sqlite----使用room替代 android原生数据库
percentlayout----使用coordinatorlayout替代 百分比布局
viewpager ---- 使用viewpager2替代 可滑动的分页布局
cardview ----- 最早版本的cardview,不推荐使用,可以使用MatericalCardView替代
7. 用于测试的组件(2个)
benchmark----测试代码性能的工具包
test*xxx ------- 测试相关类库
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。