Android Jetpack架构组件(一)—Jetpack简介

藏宝库编辑 2024-9-23 17:25:50 41 0 来自 中国
一、Android Jetpack简介

Jetpack并不是一个框架大概组件,它是一套库、工具和指南的聚集,可帮助开发者更轻松地编写优质应用。这些组件可帮助开发者遵循最佳做法、摆脱编写样板代码的工作并简化复杂任务,以便将精神集中放在所需的代码上。
Android Jetpack中的许多组件并不都是新开发的,而是很早就有了,好比在Goole I/O 2017大会时推出了 Android Architecture Component(AAC),它包罗了LifeCycle、LiveData、ViewModel、Room。在Goole I/O 2018大会上,
用AndroidX更换了Android Support Library,并在Android Architecture Component的底子上发布了Android Jetpack,AndroidX也是属于Android Jetpack。
Jetpack重要特性有以下三点:

1.加速开发

组件可单独使用,也可以协同工作,当使用kotlin语言特性时,可以进步服从。
2.消除样板代码

Android Jetpack可管理繁琐的Activity(如背景任务、导航和生命周期管理)。
3.构建高质量的强大应用

Android Jetpack组件围绕当代化计划实践构建而成,具有向后兼容性,可以镌汰瓦解和内存走漏。
二、Android Jetpack分类


Android Jetpack分类有4种,分别是

  • Architecture
  • Foundationy
  • Behavior
  • UI
1、Architecture(架构组件)

Architecture指的是架构组件,帮助开发者计划稳健、可测试且易维护的应用。架构组件可以说是对应用开发帮助最大的组件,本系列也是围绕着架构组件举行讲授。

  • DataBinding:
    以声明方式将可观察数据绑定到界面元素,通常和ViewModel配合使用。
  • Lifecycle:
    用于管理Activity和Fragment的生命周期,可帮助开发者天生更易于维护的轻量级代码。
  • LiveData:
    在底层数据库更改时关照视图。它是一个可观察的数据持有者,与通例observable不同,LiveData是生命周期感知的。
  • Navigation:
    处理应用内导航。
  • Paging:
    可以帮助开发者一次加载和体现小块数据,按需加载部分数据可镌汰网络带宽和体系资源的使用。
  • Room:
    友好、流畅的访问SQLite数据库。它在SQLite的底子上提供了一个抽象层,答应更强大的数据库访问。
  • ViewModel:
    以生命周期的方式管理界面相关的数据,通常和DataBinding配合使用,为开发者实现MVVM架构提供了强有力的支持。
  • WorkManager:
    管理Android的背景的作业,纵然应用程序退出或设备重新启动也可以运行可耽误的异步任务。
2.png 2、Foundationy(底子组件)

底子组件提供横向功能,比方向后兼容性、测试、安全、Kotlin 语言支持,并包罗多个多个平台开发的组件。

  • Android KTX:
    优化了供Kotlin使用的Jetpack和Android平台API。帮助开发者以更简便、更愉悦、更惯用的方式使用Kotlin举行Android开发。
  • AppCompat:
    帮助较低版本的Android体系举行兼容。
  • Auto:
    开发Android Auto应用的组件,提供了实用于全部车辆的标准化界面和用户交互。
  • 检测:
    从AndroidStudio中快速检测基于Kotlin或Java的代码。
  • 多Dex处理:
    为具有多个Dex文件应用提供支持。
  • 安全:
    安全的读写加密文件和共享偏好设置。
  • 测试:
    用于单位和运行时界面测试的Android 测试框架。
  • TV:
    构建可让用户在大屏幕上体验沉醉式内容的应用。
  • Wear OS:
    开发Wear应用的组件。
3、Behavior(举动组件)

举动组件可帮助开发者的应用与标准Android服务(如关照、权限、分享)相集成。

  • CameraX:
    帮助开发简化相机应用的开发工作。它提供同等且易于使用的界面,实用于大多数Android。 设备,并可向后兼容至Android 5.0(API 21)。
  • DownloadManager:
    处理长时间运行的HTTP下载的体系服务。
  • 媒体和播放:
    用于媒体播放和路由(包罗Google Cast)的向后兼容API。
  • 关照:
    提供向后兼容的关照API,支持Wear和Auto。
  • 权限:
    用于查抄和哀求应用权限的兼容性API。
  • 设置:
    创建交互式设置,建议使用AndroidX Preference Library库将用户可设置设置集成到应用中。
  • 分享使用:
    可以更轻松地实现友好的用户分享使用。
  • 切片:
    切片是一种UI模板,创建可在应用外部体现应用数据的机动界面元素。
4、UI(界面组件)


  • Animation and Transition:
    该框架包罗用于常见结果的内置动画,并答应开发者创建自界说动画和生命周期回调。
  • Emoji Compatibility:
    即便用户没有更新Android体系也可以获取最新的心情符号。
  • Fragment:
    组件化界面的根本单位。
  • 结构:
    用XML中声明UI元素大概在代码中实例化UI元素。
  • 调色板:
    从调色板中提取出有用的信息。
三、在应用中引入Jetpack相关组件


  • 在项目build.gradle中添加google() 库
allprojects {      repositories {          google()          jcenter()      }  }

  • 在模块build.gradle中引入对应库
dependencies {    def lifecycle_version = "2.2.0"    implementation "androidx.lifecycle:lifecycle-livedata-ktxlifecycle_version"    implementation "androidx.lifecycle:lifecycle-viewmodel-ktxlifecycle_version"    ...}
您需要登录后才可以回帖 登录 | 立即注册

Powered by CangBaoKu v1.0 小黑屋藏宝库It社区( 冀ICP备14008649号 )

GMT+8, 2024-10-18 19:28, Processed in 0.186636 second(s), 35 queries.© 2003-2025 cbk Team.

快速回复 返回顶部 返回列表