前言
我也已经做了好几年开发了,还记得刚出来工作的时候觉得自己很牛逼,现在回想起来也蛮好笑的。懂的越多的时候你才会发现懂的越少。因为如果你的知识是一个圆,当你的圆越大时,圆外面的世界也就越大。
最近看到很多Android新手问Android学习路线,学习方法啊,如何入门啊,所以我从网上找了一些资料,然后以我的工作经验给大家总结一下,让大家少走弯路,提取一些工作中经常用到的技术。当然,说一千道一万,最重要的还是学以致用,把学过的知识融会贯通。
Android Jetpack组件的作用是什么?
- Navigation:一个用于管理Fragment切换的工具类,可视化、可绑定控件、支持动画等是其优点。
- Data Binding:不用说,都知道,加速MVVM的创建。
- Lifecycle:他是我们能够处理Activity和Fragment的生命周期的重要原因,在AndroidX的Fragment和Activity已经对Lifecycle提供了默认支持。
- ViewModel:当做MVVM的ViewModel层,并具有声明周期意识的处理和UI相关的数据。
- LiveData:同RxJava的作用一样,对数据进行监听,优点就是无需处理生命周期、无内存泄漏等。
- Room:强大的ORM数据库框架。
- Paging:易于使用的数据分页库,支持RecyclerView。WorkManager:灵活、简单、延迟和保证执行的后台任务处理库。
你可能选择Android Jetpack的原因
以下可能是你会选择Android Jetpack的原因:
- 一起使用更方便:因为Android Jetpack组件中的很多库都对其他库提供了支持,比如Room和Paging就对LiveData提供了支持。
- 向后兼容:基本上每个组件都对低版本提供了支持。
- 支持RxJava:由于RxJava强大的生态环境,几乎和数据相关的组件都对RxJava提供了支持。
- 减少代码量:以Data Binding + ViewModel + LiveData或RxJava构建的MVVM模式能够显著减少代码量,比较平时使用的MVP模式也会更加方便,无需主动更新UI。
- 无需捆绑:Android Jetpack系列组件可以无需捆绑使用,你如果只想用里面的单个库,那么就可以仅仅依赖一个库。
Android Jetpack要学吗?
学,肯定要学,Android Jetpack于谷歌而言,这是他们重新整理和统一安卓生态环境决心的体现,Android Jetpack所展现的内容,也是谷歌想拓展和维护的方向。于长期苦恼于第三方库选择的广大Android开发者而言,这是谷歌为我们提供的一盏明灯。
也许,Android Jetpack系列的部分库还没成熟到成为你工作的第一选择,但是,深入学习Android Jetpack组件会为你提供与谷歌大佬深入交流的机会,为你日常的开发带来一些想法。