Android Jetpack架构组件(一)了解Android Jetpack

前言
我们知道在2008年9月,谷歌正式发布了Android 1.0系统,这也是Android系统最早的版本。从那时候到现在Android已经发展了将近12年的时间,而且Android应用的开发肯定需要网络请求,数据存储,消息机制,所以在近些年每年都有各种各样的框架,比如ImageLoader, Pocasso, Glide,Eventbus, Okhttp, Retrofit, RxJava等, 使得应用的开发选择多,也导致了应用的质量底下,没有统一的标准,直到2018年的Google I/O大会上,Google推出了Jetpack, 希望能够改善当前Android的开发环境。

什么是Jetpack ?

  • Jetpack 是一套库、工具和指南,可帮助开发者更轻松地编写优质应用。这些组件可帮助您遵循最佳做法、让您摆脱编写样板代码的工作并简化复杂任务,以便您将精力集中放在所需的代码上。

  • Jetpack 包含与平台 API 解除捆绑的 androidx.* 软件包库。这意味着,它可以提供向后兼容性,且比 Android 平台的更新频率更高,以此确保您始终可以获取最新且最好的 Jetpack 组件版本。

  • 其实Jetpack中包含了众多的组件,很多都不是新的,在之前就有了,比如Android Architecture Component, 还有AndroidX其实是对之前Android Support Library的替换,并且仅仅是替换,并没有增加任何的代码。而且到目前为止Jetpack组件都已经有了stable版本。

Jetpack的特点

  • 加速开发: 组件可以单独采用(不过这些组件是为协同工作而构建的),同时利用 Kotlin 语言功能帮助您提高工作效率。
  • 消除样板代码: Android Jetpack 可管理繁琐的 Activity(如后台任务、导航和生命周期管理),以便您可以专注于如何让自己的应用出类拔萃。
  • 构建高质量的强大应用:Android Jetpack 组件围绕现代化设计实践构建而成,具有向后兼容性,可以减少崩溃和内存泄漏。

Jetpack的分类

首先上一张官方的图片,来直观感受一下分类。
Android Jetpack架构组件(一)了解Android Jetpack_第1张图片

1 Foundation 基础组件:基础组件提供横向功能,例如向后兼容性、测试和 Kotlin 语言支持。
  • Android KTX:编写更简洁、惯用的 Kotlin 代码
  • AppCompat:在较低版本的 Android 系统上恰当地降级
  • Auto:有助于开发 Android Auto 应用的组件
  • 检测:从 Android Studio 中快速检测基于 Kotlin 或 Java 的代码
  • 多 dex 处理:为具有多个 DEX 文件的应用提供支持
  • 安全:按照安全最佳做法读写加密文件和共享偏好设置。
  • 测试:用于单元和运行时界面测试的 Android 测试框架
  • TV:有助于开发 Android TV 应用的组件
  • Wear OS by Google 谷歌:有助于开发 Wear 应用的组件
2 Architecture 架构组件可帮助您设计稳健、可测试且易维护的应用。
  • DataBinding 数据绑定: 以声明方式将可观察数据绑定到界面元素
  • Lifecycles 生命周期:管理您的 Activity 和 Fragment 生命周期
  • LiveData:在底层数据库更改时通知视图
  • Navigation 导航:处理应用内导航所需的一切
  • Paging 分页: 逐步从您的数据源按需加载信息
  • Room 数据库: 流畅地访问 SQLite 数据库
  • ViewModel: 以注重生命周期的方式管理界面相关的数据
  • WorkManager: 管理您的 Android 后台作业
3 Behavior 行为组件可帮助您的应用与标准 Android 服务(如通知、权限、分享和 Google 助理)相集成。
  • CameraX: 轻松地向应用中添加相机功能
  • DownloadManager 下载管理器: 安排和管理大量下载任务
  • Media & Playback 媒体和播放: 用于媒体播放和路由(包括 Google Cast)的向后兼容 API
  • Notifications 通知: 提供向后兼容的通知 API,支持 Wear 和 Auto
  • Permissions 权限: 用于检查和请求应用权限的兼容性 API
  • Preferences 偏好设置: 创建交互式设置屏幕
  • Sharing 共享: 提供适合应用操作栏的共享操作
  • Slices 切片: 创建可在应用外部显示应用数据的灵活界面元素
4 UI 界面组件可提供微件和辅助程序,让您的应用不仅简单易用,还能带来愉悦体验。了解有助于简化界面开发的 Jetpack Compose。
  • Animation & transitations 动画和过渡: 移动微件和在屏幕之间过渡
  • Emoji 表情符号: 在旧版平台上启用最新的表情符号字体
  • Fragment 碎片: 组件化界面的基本单位
  • Layout 布局: 使用不同的算法布置微件
  • Palette 调色板: 从调色板中提取出有用的信息

在应用中引入Jetpack库

  • 所有 Jetpack 组件都可在 Google Maven 代码库中找到。

  • 打开项目的 build.gradle 文件并添加 google() 代码库,如下所示:

    allprojects {
        repositories {
            google()
            jcenter()
        }
    }
    
  • 然后,您可以添加 Jetpack 组件,例如作为 Lifecycles 库的一部分的 LiveData 和 ViewModel 等架构组件,如下所示:

    dependencies {
        def lifecycle_version = "2.0.0"
        implementation "androidx.lifecycle:lifecycle-extensions:$lifecycle_version"
        // Optional : Kotlin extension (https://d.android.com/kotlin/ktx)
        implementation "androidx.lifecycle:lifecycle-viewmodel-ktx:$lifecycle_version"
        ...
    }
    

总结

本篇文章只是对Jetpack做了一个简单的介绍,内容主要来自于官网,从下一篇文章开始主要讲解Jetpack组件的Archtecture部分。

你可能感兴趣的:(Jetpack,Archtecture)