咱们安卓开发者,常常会吐槽 Android 碎片化重大,设施繁多,品牌泛滥,版本各异,分辨率不对立,我的项目的库根本都是用什么 Square 全家桶,Glide, 各种 Bus, MVP,MVVM 等等,很多时候都得本人入手,饥寒交迫。
Android 倒退了 10 多年,谷歌始终致力于安卓生态环境的搭建。为了不便宽广安卓开发者,让 App 研发更简略、易于上手,谷歌在 2018 年推出了 Jetpack。
Android Jetpack 组件的劣势:
- 轻松管理应用程序的生命周期;
- 构建可察看的数据对象,以便在根底数据库更改时告诉视图;
- 存储在应用程序轮换中未销毁的 UI 相干数据,在界面重建后复原数据;
- 轻松的实现 SQLite 数据库;
- 零碎主动调度后台任务的执行,优化使用性能;。
据 Google 官网统计,应用 Jetpack 之后,App 的 bug 量能够大大减少约 43%,代码量差不多能够缩减到之前的一半。
如何学习 Jetpack?
有些人说 Jetpack,要学的货色太多了,用起来有点麻烦!其实并不是说一筐子都要立马用起来,齐全能够独自应用最适宜本人我的项目中的那局部。
那咱们到底该怎么优雅地开发 App 呢?模块化、层次化、控件化、组件化在实际当中,又该怎么和 Jetpack 联合呢?
这里给大家分享一份腾讯大佬整顿举荐的《高级 Jetpack 强化实战》手册,帮忙大家更好地学习 Jetpack。上面是材料目录:
一,初识 ConstraintLayout 之实现登录页面
- 创立我的项目
- 沉迷式的布局
- 富文本
- 属性动画
二、Navigation 实际之实现 APP 主框架以及 Navigation 的相干介绍
- 搭建 Bottom Navigation Activity
- 导航界面跳转
- Navigation 传值
- Navigation 跳转动画
- 导航文件拆分
- Deeplink 导航
三、应用 Coroutines,Retrofit,模式实现网络数据申请
- kotlin – Coroutine 协程
- 用协程和 Retrofit 实现网络申请
- 结语 – 协程
四、应用 TabLayout,ViewPager2,RecyclerView 实现实现歌单广场页面
- ViewPager2
- TabLayout
- RecyclerView
- 网络数据申请和数据填充
- 优化界面
五、歌单页面 MVVM 架构革新及其 ViewModel 和 LiveData 的应用介绍
- MVC 和 MVVM 介绍
- 批改歌单页面
六、Paging 实现加载更多和下拉刷新,谬误后从新申请
- Paging 的劣势
- Paging 实现分页加载更多
- Paging 和 SwipRefreshLayout 组合实现下拉刷新
- 给 RecyclerView 增加加载状态的 Footer
- 产生网络谬误后重试
- 帧动画
七、vlayout 嵌套横向 RecyclerView 和 Banner 实现主页的展现,自定义 Moshi 的 JsonAdapter
- vlayout 架构剖析
- vlayout 布局介绍
- 根底工作筹备
- vlayout 实现轮播图
- 字段内容类型不统一
八、Room 数据库实现增删改查和事务处理
- 增加 Room 依赖
- Room 具体介绍
- DataBase 创立时插入数据
- Room 实现歌单标签编辑界面的增删改查
九、Room 数据库 Migration
- 新建 Entity
- 新建 Dao
- 批改 Database
- 批改 HomeViewModel
- Migration
十、ExoPlayer 进行视频播放的实现
- ExoPlayer 介绍
- ExoPlayer 简略的应用办法
- ExoPlayer 简略自定义
- ExoPlayer 高级自定义
- ExoPlayer 在 RecyclerView 中的复用
十一、MotionLayout 让动画如此简略
- MotionLayout 根底
- 关键帧 Keyframes
- 代码启动动画和监听动画
- MotionLayout 案例剖析
十二、Kotlin Flow 基础知识详解
- Flow 引入的场景
- Flow 的个性
- Flow 的构造函数
- Flow 两头运算函数
- Flow 完结函数
- Flow 的谬误异样解决
- Flow 的勾销
- StateFlow / MutableStateFlow
十三、Kotlin Flow 我的项目实战 - 网络、数据库和 UI 的利用
- MVVM 架构中留给 Flow 的地位
- 网络数据申请
- UI 相干 – 输入框中输出关键词
- 数据库
十四、View Binding 代替 ButterKnife 和 Kotlin synthetics
- 解决 findViewById 的难过
- View Binding 的应用
- 从 Kotlin synthetics 迁徙到 View Binding
须要《高级 Jetpack 强化实战》材料,能够点击此处收费支付!