JetPack 是什么?
2018年?歌 I/O 发布了?系列辅助 Android 开发者的实??具,合称 Jetpack。以帮助开发者构建出?的 Android 应?。Jetpack 是?套库、?具和指南,可帮助开发者更轻松地编写优质应?。这些组件可帮助你遵循最佳做法、让你摆脱编写样板代码的?作并简化复杂任务,以便你将精?集中放在所需的代码上。
JetPack 分类有四种,分别是 Architecture、Foundationy、Behavior、UI。
![Android Jetpack 知识点强化实战(实现登录页面、APP主框架、Kotlin Flow项目实战....)](https://img.it610.com/image/info9/6325a9b7998a42acae358639fd3da17c.jpg)
文章图片
每个组件都可以单独使?,也可以配合在?起使?。每个组件都给?户提供了?个标准,能够帮助开发者遵循最佳做法,减少样板代码并编写可在各种 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:灵活、简单、延迟和保证执行的后台任务处理库。
一,初识ConstraintLayout之实现登录页面 1)创建项目
2)沉浸式的布局
3)富文本
4)属性动画
![Android Jetpack 知识点强化实战(实现登录页面、APP主框架、Kotlin Flow项目实战....)](https://img.it610.com/image/info9/c77b0153c44646399475aba370db626c.jpg)
文章图片
二、Navigation 实践之实现 APP 主框架以及 Navigation 的相关介绍 1)搭建 Bottom Navigation Activity
2)导航界面跳转
3)Navigation 传值
4)Navigation 跳转动画
5)导航文件拆分
6)Deeplink 导航
![Android Jetpack 知识点强化实战(实现登录页面、APP主框架、Kotlin Flow项目实战....)](https://img.it610.com/image/info9/f0397b9abc0c47358e96a737729b4178.jpg)
文章图片
三、使用 Coroutines, Retrofit,模式实现网络数据请求 1)kotlin - Coroutine 协程
2)用协程和Retrofit实现网络请求
![Android Jetpack 知识点强化实战(实现登录页面、APP主框架、Kotlin Flow项目实战....)](https://img.it610.com/image/info9/a2b35b8450f24b44843d7d9e662854a2.jpg)
文章图片
四、使用 TabLayout,ViewPager2 ,RecyclerView实现实现歌单广场页面 1)ViewPager2
2)TabLayout
3)RecyclerView
4)网络数据请求和数据填充
5)优化界面
![Android Jetpack 知识点强化实战(实现登录页面、APP主框架、Kotlin Flow项目实战....)](https://img.it610.com/image/info9/9ac016341d6c442ebb6cd5ae99315595.jpg)
文章图片
五、歌单页面 MVVM 架构改造及其 ViewModel 和 LiveData 的使用介绍 1)MVC和MVVM介绍
2)修改歌单页面
![Android Jetpack 知识点强化实战(实现登录页面、APP主框架、Kotlin Flow项目实战....)](https://img.it610.com/image/info9/18e1d7e6609b46a5a0279bb2aa35c765.jpg)
文章图片
六、Paging 实现加载更多和下拉刷新,错误后重新请求 1)Paging的优势
2)Paging实现分页加载更多
3)Paging和SwipRefreshLayout组合实现下拉刷新
4)给RecyclerView添加加载状态的Footer
5)发生网络错误后重试
6)帧动画
![Android Jetpack 知识点强化实战(实现登录页面、APP主框架、Kotlin Flow项目实战....)](https://img.it610.com/image/info9/102c9ce395f04a9c83545b9546237f50.jpg)
文章图片
七、vlayout 嵌套横向 RecyclerView 和 Banner 实现主页的展示,自定义 Moshi 的 JsonAdapter 1)vlayout架构分析
2)vlayout布局介绍
3)基础工作准备
4)vlayout实现轮播图
5)字段内容类型不一致
![Android Jetpack 知识点强化实战(实现登录页面、APP主框架、Kotlin Flow项目实战....)](https://img.it610.com/image/info9/4bb4fcffda334768b8ba6aba3da7c2b9.jpg)
文章图片
八、Room 数据库实现增删改查和事务处理 1)添加Room依赖
2)Room详细介绍
3)DataBase创建时插入数据
4)Room实现歌单标签编辑界面的增删改查
![Android Jetpack 知识点强化实战(实现登录页面、APP主框架、Kotlin Flow项目实战....)](https://img.it610.com/image/info9/f5e5d39386d94cdfbfcda2805d9d02fb.jpg)
文章图片
九、Room 数据库 Migration 1)新建 Entity
2)新建 Dao
3)修改 Database
4)修改 HomeViewModel
5)Migration
![Android Jetpack 知识点强化实战(实现登录页面、APP主框架、Kotlin Flow项目实战....)](https://img.it610.com/image/info9/d5bc128d1b134a138ba28e26c13bfda5.jpg)
文章图片
十、ExoPlayer 进行视频播放的实现 1)ExoPlayer 介绍
2)ExoPlayer 简单的使用方法
3)ExoPlayer 简单自定义
4)ExoPlayer 高级自定义
5)ExoPlayer 在 RecyclerView 中的复用
![Android Jetpack 知识点强化实战(实现登录页面、APP主框架、Kotlin Flow项目实战....)](https://img.it610.com/image/info9/eddb517c71d44a6e954c67d65fa7d126.jpg)
文章图片
十一、MotionLayout 让动画如此简单 1)MotionLayout 基础
2)关键帧 Keyframes
3)代码启动动画和监听动画
4)MotionLayout 案例分析
![Android Jetpack 知识点强化实战(实现登录页面、APP主框架、Kotlin Flow项目实战....)](https://img.it610.com/image/info9/d48d750a628144c794c71eee8406f4e5.jpg)
文章图片
十二、Kotlin Flow基础知识详解 1)Flow 引入的场景
2)Flow 的特性
3)Flow 的构造函数
4)Flow 中间运算函数
5)Flow 结束函数
6)Flow 的错误异常处理
7)Flow 的取消
8)StateFlow / MutableStateFlow
![Android Jetpack 知识点强化实战(实现登录页面、APP主框架、Kotlin Flow项目实战....)](https://img.it610.com/image/info9/e0c39fda1dd647a69351b16c0ff8637f.jpg)
文章图片
十三、Kotlin Flow项目实战-网络、数据库和UI的应用 1)MVVM 架构中留给 Flow 的位置
2)网络数据请求
3)UI相关 - 输入框中输入关键词
4)数据库
![Android Jetpack 知识点强化实战(实现登录页面、APP主框架、Kotlin Flow项目实战....)](https://img.it610.com/image/info9/9654bc14bc0d4c98a80408eabcf5894d.jpg)
文章图片
十四、View Binding 替代 ButterKnife 和 Kotlin synthetics 1)解决 findViewById 的忧伤
2)View Binding 的使用
3)从 Kotlin synthetics 迁移到 View Binding
![Android Jetpack 知识点强化实战(实现登录页面、APP主框架、Kotlin Flow项目实战....)](https://img.it610.com/image/info9/d7184d9f991342d59e19e7bf994d73cc.jpg)
文章图片
【Android Jetpack 知识点强化实战(实现登录页面、APP主框架、Kotlin Flow项目实战....)】篇幅有限,这里只展示了目录大纲和部分内容截图,需要《Android Jetpack 知识点强化实战》完整版的朋友【可以点击此处免费领取!】
推荐阅读
- 学不动了吗(Android Jetpack Compose 开发应用指南,从入门到精通,一篇就够了!)
- Android Jetpack 全家桶全面学习 | 使用databinding
- Jetpack系列——ViewModel
- 【Android Jetpack 全家桶全面学习】 Fragment 之间共享数据
- Jetpack Glance Alpha 版现已推出
- 【建议收藏】Jetpack Compose编程知识全汇总 (含详细实例讲解)