Android Jetpack 知识点实战系列(Navigation、Coroutines、 Retrofit、MVVM....),进阶必备

我们安卓开发者,经常会吐槽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。下面是资料目录:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-kFd1im9g-1644832855456)(https://upload-images.jianshu.io/upload_images/27670741-10041e9c4c1b7c1a.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)]

一,初识ConstraintLayout之实现登录页面
  1. 创建项目
  2. 沉浸式的布局
  3. 富文本
  4. 属性动画
    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-EcMZcLit-1644832855456)(https://upload-images.jianshu.io/upload_images/27670741-f042f7079873911d.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)]
二、Navigation 实践之实现 APP 主框架以及 Navigation 的相关介绍
  1. 搭建 Bottom Navigation Activity
  2. 导航界面跳转
  3. Navigation 传值
  4. Navigation 跳转动画
  5. 导航文件拆分
  6. Deeplink 导航

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-r4hGN3KQ-1644832855457)(https://upload-images.jianshu.io/upload_images/27670741-316f2860f269e51b.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)]

三、使用 Coroutines, Retrofit,模式实现网络数据请求
  1. kotlin - Coroutine 协程
  2. 用协程和Retrofit实现网络请求
  3. 结语 - 协程

四、使用 TabLayout,ViewPager2 ,RecyclerView实现实现歌单广场页面
  1. ViewPager2
  2. TabLayout
  3. RecyclerView
  4. 网络数据请求和数据填充
  5. 优化界面

五、歌单页面 MVVM 架构改造及其 ViewModel 和 LiveData 的使用介绍
  1. MVC和MVVM介绍
  2. 修改歌单页面

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ZDTgdm50-1644832855460)(https://upload-images.jianshu.io/upload_images/27670741-5e2a1663aa1b096a.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)]

六、Paging 实现加载更多和下拉刷新,错误后重新请求
  1. Paging的优势
  2. Paging实现分页加载更多
  3. Paging和SwipRefreshLayout组合实现下拉刷新
  4. 给RecyclerView添加加载状态的Footer
  5. 发生网络错误后重试
  6. 帧动画

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-zfnvjR0C-1644832855461)(https://upload-images.jianshu.io/upload_images/27670741-b72e76b103ca11e5.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)]

七、vlayout 嵌套横向 RecyclerView 和 Banner 实现主页的展示,自定义 Moshi 的 JsonAdapter
  1. vlayout架构分析
  2. vlayout布局介绍
  3. 基础工作准备
  4. vlayout实现轮播图
  5. 字段内容类型不一致

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-MJdjuTrK-1644832855461)(https://upload-images.jianshu.io/upload_images/27670741-4eabed48bd4b6c9c.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)]

八、Room 数据库实现增删改查和事务处理
  1. 添加Room依赖
  2. Room详细介绍
  3. DataBase创建时插入数据
  4. Room实现歌单标签编辑界面的增删改查

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-AJkKRUal-1644832855462)(https://upload-images.jianshu.io/upload_images/27670741-eb8e62b23ec55283.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)]

九、Room 数据库 Migration
  1. 新建 Entity
  2. 新建 Dao
  3. 修改 Database
  4. 修改 HomeViewModel
  5. Migration

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-vUAnv7rg-1644832855463)(https://upload-images.jianshu.io/upload_images/27670741-d7ed7fa2157157c3.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)]

十、ExoPlayer 进行视频播放的实现
  1. ExoPlayer 介绍
  2. ExoPlayer 简单的使用方法
  3. ExoPlayer 简单自定义
  4. ExoPlayer 高级自定义
  5. ExoPlayer 在 RecyclerView 中的复用

十一、MotionLayout 让动画如此简单
  1. MotionLayout 基础
  2. 关键帧 Keyframes
  3. 代码启动动画和监听动画
  4. MotionLayout 案例分析

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Xo3Q1cFc-1644832855464)(https://upload-images.jianshu.io/upload_images/27670741-b0023d11f60fba55.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)]

十二、Kotlin Flow基础知识详解
  1. Flow 引入的场景
  2. Flow 的特性
  3. Flow 的构造函数
  4. Flow 中间运算函数
  5. Flow 结束函数
  6. Flow 的错误异常处理
  7. Flow 的取消
  8. StateFlow / MutableStateFlow

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-9CEELdSp-1644832855465)(https://upload-images.jianshu.io/upload_images/27670741-3173e67b9f2fed76.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)]

十三、Kotlin Flow项目实战-网络、数据库和UI的应用
  1. MVVM 架构中留给 Flow 的位置
  2. 网络数据请求
  3. UI相关 - 输入框中输入关键词
  4. 数据库

十四、View Binding 替代 ButterKnife 和 Kotlin synthetics
  1. 解决 findViewById 的忧伤
  2. View Binding 的使用
  3. 从 Kotlin synthetics 迁移到 View Binding

在这里插入图片描述
需要《高级Jetpack强化实战》资料,可以微信扫描下方二维码免费领取!
在这里插入图片描述

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值