背景

近几年,Android 相关的新技术层出不穷。往往这个技术还没学完,下一个新技术又出来了。很多人都是一脸黑人问号?

不少开发者甚至开始哀嚎:“求求你们别再创造新技术了,我们学不动了!”在这些新技术里,Jetpack 是最具代表性的,它们的知识体系复杂,学起来难度大,学完后实战的坑也多。

jetpack一定要学吗?

学,肯定要学,Android Jetpack于谷歌而言,这是他们重新整理和统一安卓生态环境决心的体现,Android Jetpack所展现的内容,也是谷歌想拓展和维护的方向。JetPack里有的,Google 将会继续维护并增加新特性。 JetPack里没有的,除Retrofit/OkHttp/RxJava 等一些优秀的第三方库以外,Google要么不明确支持,要么早晚被Deprecate。

对于长期苦恼于第三方库选择的广大Android开发者而言,这是谷歌为我们提供的一盏明灯。

Jetpack 强化实战手册

接下来,我将会给大家介绍一份2021年最新整理出来的《Jetpack强化实战手册》,手把手教大家完成网易云APP。这份资料旨在给希望了解、学习、应用Android Jetpack 的小伙伴一个参考资料。

一、初识ConstraintLayout之实现登录页面

1.创建项目

2.沉浸式的布局

3.富文本

4.属性动画

二、Navigation实践之实现APP主框架以及Navigation的相关介绍

1.搭建 Bottom Navigation Activity

2.导航界面跳转

3.Navigation传值

4.Navigation跳转动画

5.导航文件拆分

6.Deeplink导航

三、使用 Coroutines, Retrofit, Moshi实现网络数据请求

1.kotlin - Coroutine 协程

2.用协程和Retrofit实现网络请求

四、使用 TabLayout,ViewPager2 ,RecyclerView实现实现歌单广场页面

1.ViewPager2

2.TabLayout

3.RecyclerView

4.网络数据请求和数据填充

5.优化界面

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

1.MVC和MVVM介绍

2.修改歌单页面

六、Paging实现加载更多和下拉刷新,错误后重新请求

1.Paging的优势

2.Paging实现分页加载更多

3.Paging和SwipRefreshLayout组合实现下拉刷新

4.给RecyclerView添加加载状态的Footer

5.发生网络错误后重试

6.帧动画

七、vlayout嵌套横向RecyclerView和Banner 实现主页的展示,自定义Moshi的JsonAdapter

1.vlayout架构分析

2.vlayout布局介绍

3.基础工作准备

4.vlayout实现轮播图

5.字段内容类型不一致

八、Room数据库实现增删改查和事务处理

1.添加Room依赖

2.Room详细介绍

3.DataBase创建时插入数据

4.Room实现歌单标签编辑界面的增删改查

九、Room数据库Migration

1.新建 Entity

2.新建 Dao

3.修改 Database

4.修改 HomeViewModel

5.Migration

十、ExoPlayer进行视频播放的实现

1.ExoPlayer介绍

2.ExoPlayer简单的使用方法

3.ExoPlayer简单自定义

4.ExoPlayer高级自定义

5.ExoPlayer在RecyclerView中的复用

十一、MotionLayout让动画如此简单

1.MotionLayout基础

2.关键帧 Keyframes

3.代码启动动画和监听动画

4.MotionLayout案例分析

十二、Kotlin Flow基础知识详解

1.Flow 引入的场景

2.Flow 的特性

3.Flow的构造函数

4.Flow中间运算函数

5.Flow结束函数

6.Flow的错误异常处理

7.Flow的取消

8.StateFlow/MutableStateFlow

十三、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

有需要的朋友直接点击此处免费获取完整文档。

Android Jetpack 架构组件最佳实践之“网抑云”APP的更多相关文章

  1. Android 架构:Android Jetpack 架构组件的学习和分析

    参考:https://mp.weixin.qq.com/s/n-AzV7Ke8wxVhmC6ruUIUA 参考:https://jekton.github.io/2018/06/30/android- ...

  2. Android和PHP开发最佳实践

    Android和PHP开发最佳实践 <Android和PHP开发最佳实践>基本信息作者: 黄隽实丛书名: 移动应用开发技术丛书出版社:机械工业出版社ISBN:9787111410508上架 ...

  3. 转载:Google 官方应用架构的最佳实践指南 赞👍

    官方给的实践指南,很有实际的指导意义,  特别是对一些小公司,小团队,给了很好的参考意义. 原文地址: https://developer.android.com/topic/libraries/ar ...

  4. Android官方架构组件指南

    此指南适用于那些曾经或现在进行Android应用的基础开发,并希望了解和学习编写Android程序的最佳实践和架构.通过学习来构建强大的生产级别的应用. 注意:此指南默认你对Android开发有比较深 ...

  5. Android官方架构组件介绍之LifeCycle(一)

    Android官方架构组件介绍之LifeCycle 下面是官方提供的Android App开发的架构图: 从上图可以看到一些关键字:ViewModel,LiveData,Room等.其实看了上面视频的 ...

  6. Google Developing for Android 二 - Memory 最佳实践 // lightSky‘Blog

    Google Developing for Android 二 - Memory 最佳实践   |   分类于 Android最佳实践 原文:Developing for Android, II Th ...

  7. Android Navigation 架构组件入门教程

    Android Navigation 架构组件入门教程 版权声明:本文为博主原创文章,未经博主允许不得转载. 转载请表明出处:https://www.cnblogs.com/cavalier-/p/1 ...

  8. 改造 Android 官方架构组件 ViewModel

    前言 Android 官方架构组件在今年 5 月份 Google I/O 大会上被公布, 直到 11 月份一直都是测试版, 由于工作比较繁忙, 期间我只是看过类似的文章, 但没有在实际项目中使用过, ...

  9. ABP vnext模块化架构的最佳实践的实现

    在上一篇文章<手把手教你用Abp vnext构建API接口服务>中,我们用ABP vnext实现了WebAPI接口服务,但是并非ABP模块化架构的最佳实践.我本身也在学习ABP,我认为AB ...

随机推荐

  1. cURL命令使用指南

    cURL是什么 curl是Linux命令行工具,可以使用任何可支持的协议(如HTTP.FTP.IMAP.POP3.SCP.SFTP.SMTP.TFTP.TELNET.LDAP或FILE)在服务器之间传 ...

  2. Spring学习日记02_IOC_属性注入_其他类型属性

    ICO操作Bean管理(xml注入其它类型属性) 字面量 null值 <property name="address"> <null></null&g ...

  3. QPainter::begin: Paint device returned engine == 0, type: 1

    开始 使用QPainter画图,需要继承QWidget,重写paintEvent()虚函数,在里面进行绘图. 或者可以考虑绘制到QImage或者QPixmap上面,然后在paintEvent()里面调 ...

  4. 8、inotify和resync的优缺点

    只有对外提供访问的服务需要有端口号,本地服务无端口号: 8.1.inotify的优缺点: 1.优点: 监控文件系统事件变化,通过同步工具实现实时的数据同步 2.缺点: 并发如果大于200个文件(10- ...

  5. 字节跳动实习面经分享(已拿offer附攻略)

    大家好,我是bigsai,今天给大家分享自己字节跳动面试经验分享. enum我面得岗位是后台实习开发,具体部门是懂车帝,总体感觉就是字节的流程真的好快,只要安排面试,那流程接着很快. 大概是上上周投递 ...

  6. CentOS-GitLab迁移(yum至Docker)

    yum备份迁移Docker版的GitLab 注:确保版本一致 1.yum备份 $ gitlab-rake gitlab:backup:create 2.执行完成后,在/var/opt/gitlab/b ...

  7. Docker:docker创建容器时报错:WARNING: IPv4 forwarding is disabled. Networking will not work.

    创建容器时报错: WARNING: IPv4 forwarding is disabled. Networking will not work. # docker run -it -p 30001:2 ...

  8. linux 中只显示目录的几种方法

    ls 参数 -a 表示显示所有文件,包含隐藏文件-d 表示显示目录自身的属性,而不是目录中的内容-F 选项会在显示目录条目时,在目录后加一个/ ls -l total 8 drwxrwxr-x 2 r ...

  9. kali安装angr

    最近打算重新学习一波angr,先把环境搭好 1. 先安装virtualenv,这玩意是可以创建一个纯净的python环境,我陷入了沉思,pyenv好像也可以 这里利用豆瓣的源下载,非常快而且很舒服 p ...

  10. Luogu P2051「AHOI2009」中国象棋

    看见第一眼觉得是状压 \(\text{DP}\)?观察数据范围发现不可做 那按照最常规思路设状态试试? 设状态为\(dp[i][j]\)表示\(i*j\)的棋盘的方案数 好像转移不了欸 要不再来一维? ...