Android Jetpack & AndroidX
官网
Jetpack 简介(来自官网)
Jetpack 是一个由多个库组成的套件,可帮助开发者遵循最佳做法,减少样板代码并编写可在各种 Android 版本和设备中一致运行的代码,让开发者精力集中编写重要的代码。
AndroidX 是什么?
Android Support 兼容包 是为了在旧版Android上,也能使用新推出的技术。通过提供兼容包的形式,来对旧版的支持。过去V4/V7/V13 一直是这样做的,但是由于每个版本的迭代造成,兼容包非常混乱。所以Android目前重新构建了一套全新的兼容体系,而把这个体系叫做 AndroidX。
AndroidX 已经退出很长一段时间,而且是未来的方向,基于此,建议所有的项目应该全部转到AndroidX 。彻底放弃过去的方式。
Jetpack 和 AndroidX 简单的理解可以认为是一个东西。方便理解不用过多纠结。Jetpack的包名基本都是以AndroidX开始的。
如何使用 Jetpack
使用入门 官网
Jetpack 在官网上写的非常清晰 直接看一眼就行。目前的Android Studio 版本使用 基本默认直接使用就行
Jetpack 都有什么内容?
在官网上列的比较多。
而且官网的结构经常发生变化,那么我们应该如何学习Jetpack 呢?
过去官网把Jetpack 组件分成了四个大类
- Foundation(基础组件)
- Architecture(架构组件)
- Behavior(行为组件)
- UI(界面组件)
可是现在去官网已经看不到这个分类,跟过去的官网页面展示有一点点区别。
UI 组件
- Animation & transitions
- Activity
- Fragment
- Layout
- Emoji
是不是非常熟悉, Emoji算是一个新的组件库。其他的就是我们平时项目里天天使用的组件而已,简单理解就是这些东西只是换了一个包名,跟过去使用完全没有区别,所以这部分,只需要学习一小部分新的使用就好
Foundation(基础组件):基础组 后兼容性、测试以及Kotlin语言的支持
- Android KTX
- AppCompat
- Multidex
- Security
- Test
- TV
- Wear OS
这里列了一些基础组件,比如如果开发TV App 或者 Wear OS 会使用到
最重要的是对 Kotlin 支持 这些都是根据需要去使用就好了
Behavior(行为组件)
- CameraX
- DownloadManager
- Media & playback
- Notifications
- Permissions
- Preferences
- Sharing
- Slices
Behavior 组件 其实也是我们过去一直使用的 api 。不过Android 为我们提供了统一的系统支持。
重头戏 Architecture(架构组件)
- Lifecycles
- LiveData
- ViewModel
- Data Binding
- Navigation
- Paging
- Room
- WorkManager
这里一定要 非常重点介绍的就是 架构组件
个人理解 你转到AndroidX 的时候 其他的组件,除了架构组件,另外几类组件真的是基本一致使用,只是换了个包名,基本不用重新学习。不过也添加了一些新的组件看需求学习即可。不过架构组件却不太一样
首先过去不用架构组件大家一样的能开发app,而且过去就是这样来的,这也造成了非常混乱的架构场面。每个公司使用的技术可以说都有差距,而且有很多还在用MVC,很多转到了MVP,又有很多转到了MVVM,而且每个人理解又有差异,实现方式也不太一样。就像网上的MVP /MVVM 框架非常多,有的 在底层就留下了很多bug。
所以AndroidX 的 架构组件 可以说是 从官方开始 ,提供一层通用的架构方式。
虽然你不用也可以开发app 但是,如果你想开发一个 bug 少,兼容好的 应用却要花费很大精力,而JetPack架构组件恰好就可以帮你解决上面的问题?甚至更加强大,难度你还有理由不去使用吗
那么如何学习 JetPack
通过上面的分析,这里建议 其他组件看看就行,把 架构组件 搞定就好。
现代的Android开发一定是基于 JetPack 架构的,除了你想写的只是一个Demo。
上面列了一些 架构组件,一个一个学清晰就好了。而且每个架构组件其实不是很难
当每个都有理解,就可以联合使用,打造一个 高效,高稳定性。逻辑简单,的APP了
之后 会发布一些 架构组件的 文章 ,希望大家喜欢
网友评论