自2018年面世,Jetpack即将迎来自己的第四个年头。但相比国外,它并没有很受到国内开发者的欢迎,很多国内开发者都表示它“不成熟”、“不好用”。大多还是由于老项目没有用过Jetpack,加入Jetpack会牵一发动全身,所以懒得动。再就是对于Jetpack的组件不知道怎么用,也不知道在哪里用,还有很多开发者对新技术嗅觉不够敏锐,连Jetpack是什么都不知道。
由于这些原因,很多人完全忽略了Jetpack的强大功能以及它能为我们提供的帮助:
解决了Android架构问题-由于之前缺少程序架构设计的标准,很多企业都只能自行摸索,但野路子导致的问题就是碎片化严重,Jetpack的出现让开发者可以使用标准的架构组件,将更多精力放在业务代码上。
提升代码质量-基于生命周期感知的能力,可以减少内存泄漏、NPE崩溃。样板代码的自动生成,让我们遗留BUG的机会减少了很多。
提升开发效率-Jetpack的组件可以单独使用,也可以组合使用,并在不同的Android版本中运行一致
抛开这些,从实际的岗位需求来看,Jetpack也正在逐渐成为必备技能:
看到这里大家应该已经明白了,JetPack现在在很多的岗位需求中都明确了,也意味着以后的面试过程中除了以前的知识点,又出现了JetPack。那么我们该如何学习Jetpack呢?很多人在开发中都是习惯搬运,不愿深入了解原理。但对于Jetpack来说,不知晓原理会出现很多人为错误。回到开始的问题,很多人觉得Jetpack问题多,其实只是因为对原理不够了解导致操作不当。
为了帮助大家更好地学习Jetpack,早日成为真正的中高级Android开发者,这里特地给大家分享一份谷歌大佬整理的《Jetpack从入门到精通》,让大家早日精通Jetpack!
01
什么是Jetpack
简介
特性
分类
应用架构
02
Navigation
简介(定义、优点、准备、学习方式)
实战(第一步 添加依赖、第二步 创建navigation导航、第三步 建立 NavHostFragment、第四步 界面跳转、参数传递和动画)
更多
总结
03
Data Binding
前言
介绍(MVVM介绍、Data Binding介绍)
实战(第一步 在app模块下的 build.gradle 文件添加内容、第二步 构建LoginModel、第三步 创建布局文件、第四步 生成绑定类)
更多(布局中属性的设置、双向绑定)
总结
04
ViewModel & LiveData
前言
LiveData(介绍、使用方式、使用场景)
ViewModel(介绍、使用方法、实战)
更多(LiveData数据变换、LiveData如何共享数据、使用ViewModel在同一个Activity中的Fragment之间共享数据)
总结
05
Room
前言
介绍——Room优点
实战——第一步 添加依赖、第二步 创建表(实体)、第三步 创建Dao、第四步 创建数据库、第五步 简要封装
更多——类型转换器、数据库迁移
总结
06
Paging
前言
介绍——优点
实战——第一步 添加依赖、第二步 创建数据源、第三步 构建LiveData、第四步 创建PagedListAdapter、第五步 监听数据
更多
总结
07
WorkManger
前言
介绍——定义、选择WorkManager的理由、多线程任务如何选择?
实战——第一步 添加依赖、第二步 自定义Worker、第三步 创建WorkManger、第四步 构建WorkRequest、第五步 取消任务、第六步 观察任务状态
更多——选择适合自己的Worker
总结
08
Android Jetpack架构组件之Lifecycle
Lifecycle简介
Lifecycle使用
Lifecycle源码分析——Lifecycle注册流程、通知观察者
09
Android Jetpack Compose 最全上手指南
声明式 UI 的前世今生
Jetpack Compose 介绍
Jetpack Compose 环境准备和Hello World
布局
使用Material design 设计
Compose 布局实时预览
总结
10
Android Jetpack架构组件--App Startup
解决的问题
使用App Startup
App Startup实现懒加载
剖析App StartUp
App Startup利弊
11
Android Jetpack最新更新组件介绍
Hilt - Jetpack 推荐的依赖注入类库
Paging3 - 逐步加载和显示数据
App Startup - 在应用启动时初始化组件
Auto-fill IME
更简单的动画 — core-animation 和 SeekableAnimatedVectorDrawable
使用 Database Inspector 调试数据库
WindowManger - 更好的设备支持
MotionLayout,构建流畅的交互式动画
12
Android Jetpack项目实战(从0搭建Jetpack版的WanAndroid客户端)
项目目的
项目简介
项目实战——登陆模块、文章模块、其余模块
总结
篇幅原因,这里就不给大家一一展开了,我们可以通过目录来看到这份Jetpack最强学习资料绝非浪得虚名:
希望这份资料,可以帮助正在阅读的你真正的掌握Jetpack,成为真正的架构师,而并非只是搬运工。
扫码即可领取资料