当前位置:   article > 正文

Jetpack是什么?里面到底包含哪些组件?_jetpack collection

jetpack collection
  1. 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的辅助类
    fragment
    xxx----Fragment工具包
    appcompat*xxx---- 向下兼容包,确保在不同android版本设备上,都可以使用最新的特性,主要针对UI

    2. 架构组件(10个),Jetpack推出之后很令人兴奋的一点,就是Google引入了现代Android应用开发的架构指南,结合MVVM的架构设计,帮助我们轻松的处理UI与业务逻辑之间的关系。
    databindingxxx-----在xml文件中绑定view和model
    hilt
    xxx ---- 基于Dagger的android依赖注入框架,绑定view和model
    roomxxx-----SQL数据库
    lifecycle
    xxx------生命周期处理组件
    navigationxxx ---- 单activity多fragment的导航处理框架
    paging
    xxx ---- Recycleview的分页加载器
    startupxxx----- 自动处理依赖初始化
    work
    xxx-----WorkManager后台任务调度
    datastorexxx—Preferences的替代类,支持异步,更加安全
    savedstate
    xxx ----生命周期处理组保存轻量级的数据,用于当系统进程被杀再恢复时,保证用户数据不丢失

    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 ------- 测试相关类库

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/很楠不爱3/article/detail/266960
推荐阅读
相关标签
  

闽ICP备14008679号