前言
其实标题是给自己写的,有大概一年没做安卓了,Android技术的更新实在出乎意料,kotlin已经逐渐开始取代Java。最近被很多人问到Jetpack,表示没用过,瞬间觉得out了。包括现在流行的MVVM框架,都是这两年比较火的Android框架,是目前Android程序员必须要掌握的技术内容,于是赶紧抽空恶补一下相关知识。
Jetpack介绍
你可以把它叫做 --- 程序开发组件。是 Google 在2018年推出的一个官方开发组件工具集,目的是为了帮助我们的代码更规范简洁,提高开发效率,特别是结合了 MVVM 框架和 kotlin 之后,可称为神器。
它其中的一些组件其实在之前我们就已经用过,只不过现在被 Google 纳入到了 Jetpack ,比如常用的 Fragment 、Permission、Notifications、sqlite等。
通过图我们可以知道他的强大之处,在之前我们需要去 GitHub 去找各种第三方库去实现,而现在 jetpack 已经给我们提供了日常开发用的大部分组件,而且相对于一些第三方的组件使用上更加稳定。
基本使用
建议使用 kotlin
1、首先在项目根目录 Project 的 build.gradle 中添加
allprojects {
repositories {
google()
jcenter()
}
}
如果已添加请忽略该步骤。
如果编译失败请将 google() 和 jecenter() 上下位置调换
2、在项目 model 目录下的 build.gradle 中添加对应的 jetpack 组件(按需添加)
dependencies {
def lifecycle_version = "2.0.0"
implementation "androidx.lifecycle:lifecycle-extensions:$lifecycle_version"
implementation "androidx.lifecycle:lifecycle-viewmodel-ktx:$lifecycle_version"
...
}
具体所有组件库及最新版本请查看《官方文档》
关于 Android X
AndroidX 是 Jetpack 库的一部分,并且 AndroidX 是对于以前的 Android 原生库的升级,并且提供向下兼容。所以官方明确建议新项目使用 AndroidX ,当然对现有的项目也可以考虑迁移到 AndroidX 。
迁移过程:
首先 AndroidStudio版本要版本要是3.2或者更高
1、在项目的gradle.properties文件内添加如下配置
android.useAndroidX=true
android.enableJetifier=true
2、从菜单栏中依次选择 Refactor > Migrate to AndroidX
⚠️警告:迁移有一定风险,如果项目的第三方依赖过多,并且比较老不支持 androidx ,很可能会出现兼容问题。