Android Jetpack 架构浅析( 二 )

  • TV:构建可让用户在大屏幕上体验沉浸式内容的应用;
  • Wear OS:开发 Wear 应用的组件;
  • Behavior,行为组件
    目的:帮助开发者的应用与标准 Android 服务(如通知、权限、分享)相集成;
    1. CameraX:帮助开发简化相机应用的开发工作,提供一致且易于使用的界面,适用于大多数 Android 设备,并可向后兼容至 Android 5.0(API 21);
    2. DownloadManager:处理长时间运行的 HTTP 下载的系统服务;
    3. 媒体和播放:用于媒体播放和路由(包括 Google Cast)的向后兼容 API;
    4. 通知:提供向后兼容的通知 API,支持 Wear 和 Auto;
    5. 权限:用于检查和请求应用权限的兼容性 API;
    6. 设置:创建交互式设置,建议使用 AndroidX Preference Library 库将用户可配置设置集成到应用中;
    7. 分享操作:可以更轻松地实现友好的用户分享操作;
    8. 切片:切片是一种 UI 模板,创建可在应用外部显示应用数据的灵活界面元素;
    UI,界面组件
    1. Animation and Transition:该框架包含用于常见效果的内置动画,并允许开发者创建自定义动画和生命周期回调;
    2. Emoji Compatibility:即便用户没有更新 Android 系统也可以获取最新的表情符号;
    3. Fragment:组件化界面的基本单位;
    4. 布局:用 XML 中声明 UI 元素或者在代码中实例化 UI 元素;
    5. 调色板:从调色板中提取出有用的信息;
    注意:
    上面的图之前在官网是存在的,现在官网已经找不到此图,只有jetpack架构组件的文档入口;
    猜想google官方也是旨在强化Architecture架构组件,因为UI、Behavior、Foundation 这三部分大多是对已有内容的收集整理 。
    所以接下来的关注点主要是在Architecture 架构部分
    Android Jetpack 架构浅析

    文章插图
     
    4、Jetpack 与 AndroidX参考官网Jetpack使用
    1、Jetpack 库可以单独使用,也可以组合使用,以满足应用的不同需求 。
    2、Jetpack 库在 androidx 命名空间中发布 。
    androidx介绍:
    androidx 命名空间中的工件包含 Android Jetpack 库 。与支持库一样,androidx 命名空间中的库与 Android 平台分开提供,并向后兼容各个 Android 版本 。
    AndroidX 对原始 Android 支持库进行了重大改进,后者现在已不再维护 。androidx 软件包完全取代了支持库,不仅提供同等的功能,而且提供了新的库 。
    AndroidX 还包括以下功能:
    AndroidX 中的所有软件包都使用一致的命名空间,以字符串 androidx 开头 。支持库软件包已映射到对应的 androidx.* 软件包 。有关所有旧类到新类以及旧构建工件到新构建工件的完整映射,请参阅软件包重构页面 。
    与支持库不同,androidx 软件包会单独维护和更新 。从版本 1.0.0 开始,androidx 软件包使用严格的语义版本控制 。您可以单独更新项目中的各个 AndroidX 库 。
    版本 28.0.0 是支持库的最后一个版本 。我们将不再发布 android.support 库版本 。所有新功能都将在 androidx 命名空间中开发 。
    所以,目前我们的项目【朴新网校】、【朴新助教】、【数学宝典】都已经迁移使用了androidx库 。
    androidx迁移参照官网
    注意:Jetpack 是各种组件库的统称,AndroidX 是这些组件的统一包名 。
    二、Jetpack架构组件库1、应用架构指南官网推荐应用架构:
    Android Jetpack 架构浅析

    文章插图
    【Android Jetpack 架构浅析】 
    在项目中运用到的框架的搭建基本基于改图,运用到的jetpack组件库有ViewModel、LiveData、DataBinding;接下来逐一介绍他们的特性和用法 。
    2、ViewModel & LiveDataViewModel 类旨在以注重生命周期的方式存储和管理界面相关的数据 。ViewModel 类让数据可在发生屏幕旋转等配置更改后继续留存 。
    Android Jetpack 架构浅析

    文章插图
    专栏
    Go语言Web开发从入门到项目实战
    作者:猿芯
    18币
    19人已购
    查看LiveData 是一种可观察的数据存储器类 。与常规的可观察类不同,LiveData 具有生命周期感知能力,意指它遵循其他应用组件(如 Activity、Fragment 或 Service)的生命周期 。这种感知能力可确保 LiveData 仅更新处于活跃生命周期状态的应用组件观察者 。
    LiveData,ViewModel 组件都是基于Lifecycle来实现的,LiveData&ViewModel也是结合使用的,接下来具体看下如何使用


    推荐阅读