我的极客虫blog

The only easy day was yesterday.

  • 首页
  • 归档

  • 搜索
RxJava 内存 GreenDAO Tools Mac 设计模式 Gradle Java Life Android Studio WebView SDK Service 规范 Android

作为Android程序员,你还不了解JetPack?

发表于 2020-01-09 | 分类于 理.理论学习 | 0 | 阅读次数 470

Android JetPack

什么是Android JetPack?这个在2019年突然火热起来的库,说是库,其实是一整套库,在 Android 开发生态中一直是混乱的开发环境,直到2017年,Google 才开始出手正视这个验证的问题,并且推出了Architecture Component,其中包括Room库,ViewModel/LiveData等等,算是真正上了MVVM。
所以JetPack算是个什么,官方解释道:

Jetpack is a suite of libraries, tools, and guidance to help developers write high-quality apps easier. These components help you follow best practices, free you from writing boilerplate code, and simplify complex tasks, so you can focus on the code you care about.

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

JetPack主要特性有三点:
1. 加速开发
组件可以单独采用(不过这些组件是为协同工作而构建的),同时利用 Kotlin 语言功能帮助您提高工作效率。

2. 消除样板代码
Android Jetpack 可管理繁琐的 Activity(如后台任务、导航和生命周期管理),以便您可以专注于如何让自己的应用出类拔萃。

3. 构建高质量的强大应用
Android Jetpack 组件围绕现代化设计实践构建而成,具有向后兼容性,可以减少崩溃和内存泄漏。

JetPack里的组件

TIM截图20200109170653

如上图所示,JetPack组件里细分了4个领域。

Android Jetpack分类

JetPack12344

Android Jetpack组件共分为四大类,Foundation、Architecture、Behavior和UI。

1. Architecture(架构组件):

架构组件可帮助开发者设计稳健、可测试且易维护的应用。它包含如下组件库:

  • Data Binding(数据绑定):数据绑定库是一种支持库,借助该库,可以使用声明式将布局中的界面组件绑定到应用中的数据源。

  • Lifecycles:方便管理 Activity 和 Fragment 生命周期,帮助开发者书写更轻量、易于维护的代码。

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

  • Navigation:处理应用内导航所需的一切。

  • Paging:帮助开发者一次加载和显示小块数据。按需加载部分数据可减少网络带宽和系统资源的使用。

  • Room:Room持久性库在SQLite上提供了一个抽象层,帮助开发者更友好、流畅的访问SQLite数据库。

  • ViewModel:以生命周期感知的方式存储和管理与UI相关的数据。

  • WorkManager:即使应用程序退出或设备重新启动,也可以轻松地调度预期将要运行的可延迟异步任务。

2. Foundation(基础组件):

基础组件提供了横向功能,例如向后兼容性、测试以及Kotlin语言的支持。它包含如下组件库:

  • Android KTX:Android KTX 是一组 Kotlin 扩展程序,它优化了供Kotlin使用的Jetpack和Android平台的API。以更简洁、更愉悦、更惯用的方式使用Kotlin进行Android开发。

  • AppCompat:提供了一系列以AppCompat开头的API,以便兼容低版本的Android开发。

  • Cars(Auto):有助于开发 Android Auto 应用的组件,无需担心特定于车辆的硬件差异(如屏幕分辨率、软件界面、旋钮和触摸式控件)。

  • Benchmark(检测):从 Android Studio 中快速对基于 Kotlin 或 Java 的代码进行基准化分析。衡量代码性能,并将基准化分析结果输出到 Android Studio 控制台。

  • Multidex(多Dex处理):为方法数超过 64K 的应用启用多 dex 文件。

  • Security(安全):按照安全最佳做法读写加密文件和共享偏好设置。

  • Test(测试):用于单元和运行时界面测试的 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元素。

  • 调色板:从调色板中提取出有用的信息。

谷歌推荐的应用架构:

final-architecture

总结

Android JetPack算是接下去Android的开发架构组件趋势,作为一名Android开发人员应该学起来。

link

https://developer.android.com/jetpack

如果这篇文章对您有很大帮助,你可以扫描下面的二维码,让我喝一杯咖啡。非常感谢您的捐赠。谢谢!
F1ReKing 微信支付

微信支付

F1ReKing 支付宝

支付宝

  • 本文作者: F1ReKing
  • 本文链接: https://geekbug.xyz/archives/作为android程序员你还不了解jetpack
  • 版权声明: 本博客所有文章除特别声明外,均采用CC BY-NC-SA 3.0 许可协议。转载请注明出处!
# RxJava # 内存 # GreenDAO # Tools # Mac # 设计模式 # Gradle # Java # Life # Android Studio # WebView # SDK # Service # 规范 # Android
bye2019hi2020
  • 文章目录
  • 站点概览
F1ReKing

F1ReKing

34 日志
8 分类
15 标签
RSS
Github E-mail Twitter
Creative Commons
Links
  • Android开发者
0%
© 2014 — 2021 F1ReKing
The only easy day was yesterday.
闽ICP备20002060号