带你了解Android Jetpack
程序员文章站
2022-06-01 10:37:46
1.Jetpack主要特性有以下三点: 1.加速开发组件可单独使用,也可以协同工作,当使用kotlin语言特性时,可以提高效率。 2.消除样板代码Android Jetpack可管理繁琐的Activity(如后台任务、导航和生命周期管理)。 3.构建高质量的强大应用Android Jetpack组件 ......
1.jetpack主要特性有以下三点:
1.加速开发
组件可单独使用,也可以协同工作,当使用kotlin语言特性时,可以提高效率。
2.消除样板代码
android jetpack可管理繁琐的activity(如后台任务、导航和生命周期管理)。
3.构建高质量的强大应用
android jetpack组件围绕现代化设计实践构建而成,具有向后兼容性,可以减少崩溃和内存泄漏。
2.jetpack的分类。
databinding:以声明方式将可观察数据绑定到界面元素,通常和viewmodel配合使用。
lifecycle:用于管理activity和fragment的生命周期,可帮助开发者生成更易于维护的轻量级代码。
livedata: 在底层数据库更改时通知视图。它是一个可观察的数据持有者,与常规observable不同,livedata是生命周期感知的。
navigation:处理应用内导航。
paging:可以帮助开发者一次加载和显示小块数据,按需加载部分数据可减少网络带宽和系统资源的使用。
room:友好、流畅的访问sqlite数据库。它在sqlite的基础上提供了一个抽象层,允许更强大的数据库访问。
viewmodel: 以生命周期的方式管理界面相关的数据,通常和databinding配合使用,为开发者实现mvvm架构提供了强有力的支持。
workmanager: 管理android的后台的作业,即使应用程序退出或设备重新启动也可以运行可延迟的异步任务。
3.在应用中引入jetpack相关组件
在项目build.gradle中添加google() 库,如下所示。
allprojects { repositories { google() jcenter() } }
如果想引入room,可以在模块build.gradle中这么写:
implementation "android.arch.persistence.room:runtime:1.1.1" annotationprocessor "android.arch.persistence.room:compiler:1.1.1 " androidtestimplementation "android.arch.persistence.room:testing:1.1.1"