Android之Jetpack简介

2017 年的 Google IO 宣布 Kotlin 成为 Android 开发的官方语言。 2018年谷歌I/O 发布了一系列辅助android开发者的实用工具,合称Jetpack,以帮助开发者构建出色的 Android 应用。android

一.什么是Jetpack:

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

二.做用:

Android Jetpack 完美兼容 Kotlin 语言,利用 Android KTX 可大幅节省代码量。 Jetpack 包含与平台 API 解除捆绑的 androidx.* 软件包库。这意味着,它能够提供向后兼容性,且比 Android 平台的更新频率更高,以此确保您始终能够获取最新且最好的 Jetpack 组件版本。设计模式

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

三.Jetpack包含那些组件:

Android Jetpack 组件覆盖如下 4 个方面:基础(Foundation)、架构(Architecture)、行为(Behavior) 、界面(UI)。安全

jetpact1

Foundation

包含:Android KTX,AppCompat, Auto, 检测, Multidex, 安全, 测试, TV,Wear OS by Google。服务器

Android KTX

Android KTX 是一组 Kotlin 扩展程序,属于 Android Jetpack 系列。它优化了供 Kotlin 使用的 Jetpack 和 Android 平台 API。Android KTX 旨在让您利用 Kotlin 语言功能(例如扩展函数/属性、lambda、命名参数和参数默认值),以更简洁、更愉悦、更惯用的方式使用 Kotlin 进行 Android 开发。Android KTX 不会向现有的 Android API 添加任何新功能。架构

AppCompat

在较低版本的Android 系统上恰当地降级。AppCompat就是指v7 appcompat库。 此库添加了对操做栏用户界面设计模式的支持。这个库包括对Material Design用户界面实现的支持。也就是说,咱们能够借助该库,对Material Design有更便捷和兼容性更好的实现。app

Auto

Android Auto 提供了适用于全部车辆的标准化界面和用户交互模式。做为设计者,您无需担忧车辆特有的硬件差别(如屏幕分辨率、软件界面、旋钮和触摸式控件)。框架

检测

快速对基于 Kotlin 或 Java 的代码进行基准化分析。该库会处理预热,衡量代码性能,并将基准化分析结果输出到 Android Studio 控制台。因为这些步骤涉及停用调试功能以得到准确的性能结果,所以您不会将更改提交至源代码控制系统中。ide

Multidex

方法数超过 64K 的应用启用多 dex 文件( 65,536 方法数限制)。函数

Architecture

包含:DataBind, Lifecycles, LiveData, Navigation, Paging, Room, ViewModel, WorkManager.

DataBind

可使用声明性格式(而非程序化地)将布局中的界面组件绑定到应用中的数据源。 即:将布局组件与源数据绑定,使源数据变化的同时布局组件及时同步更新。

Lifecycles

用来管理和响应 Activity / Fragment 的生命周期的变化,帮助咱们编写出更易于组织且一般更加轻量级的代码,让代码变得更易于维护。 Lifecycle 是一个类,它持有 Activity / Fragment 生命周期状态的信息,并容许其它对象观察此状态。

LiveData

LiveData是一个可观察的数据持有者类。与常规observable不一样,LiveData是生命周期感知的。

Navigation

是指支持用户导航、进入和退出应用中不一样内容片断的交互。Android Jetpack 的导航组件可帮助您实现导航,不管是简单的按钮点击,仍是应用栏和抽屉式导航栏等更为复杂的模式,该组件都可应对。导航组件还经过遵循一套既定原则来确保一致且可预测的用户体验。

Paging

逐步从您的数据源按需加载信息。 分页库。

Room

Room是Google为了简化旧式的SqlLite操做专门提供的一个SqlLite的ORM抽象层框架库。

ViewModel

是以生命周期的方式存储与管理UI相关数据。

WorkManager

管理一些要在后台工做的任务, -- 即便你的应用没启动也能保证任务能被执行。 例如: 向后端服务发送日志分析 按期与服务器同步应用程序数据

jetpact2
相关文章
相关标签/搜索