seo教程:搜索引擎优化入门与进阶(第3版)(2018年谷歌I/O,Jetpack横空出世:Jetpack是什么?)
优采云 发布时间: 2022-03-29 00:10seo教程:搜索引擎优化入门与进阶(第3版)(2018年谷歌I/O,Jetpack横空出世:Jetpack是什么?)
前言
在 2018 年的 Google I/O 上,Jetpack 诞生了。官方介绍如下:
Jetpack 是一组库、工具和指南,可让开发人员更轻松地编写高质量的应用程序。这些组件可帮助您遵循最佳实践,让您免于编写样板代码,并简化复杂的任务,以便您可以专注于您需要的代码。
考虑这个介绍将解释我们刚刚遇到的问题。
Jetpack 到底是什么?
google推出这个系列的原因是什么?
但为什么国内开发商难以接受呢?其实,大概有几个原因:
正是因为这些原因,大家完全忽略了JetPack的强大,以及它能给我们带来的改变。接下来,我们分析一下它能给我们带来什么。
1.修复了 Android 架构问题
由于谷歌此前并未推出Android应用架构设计标准,各企业的开发者需要打磨出一套符合自身项目的开发方案。但这会导致两个明显的问题。首先是这些计划都是无中生有,没有官方身份。二是不可能从这些计划中找到符合大家期望的计划。说白了就是没有统一的标准,碎片化严重。因此,Google 也意识到了这个问题,推出了 JetPack,让开发者可以使用标准的架构组件,而不必担心架构的设计,可以更专注于自己的业务代码。
2.改进的代码质量
Jetpack具有基于生命周期感知的能力,可以减少内存泄漏和NPE崩溃,为我们开发健壮流畅的程序提供有力保障。同时,样板代码的自动生成可以减少遗留错误。
3.提高开发效率
Jetpack 可以减少样板代码,帮助提高 Android 开发效率。这些组件可以单独使用或组合使用,并且可以在不同的 Android 版本中一致地工作。
看到这些JetPacks带来的改变,你能放手不为所动吗?接下来,我们从实际的工作需求出发:
看到这里,大家应该都明白了,JetPack现在在很多岗位要求上都已经明确了,这也意味着在以后的面试过程中,除了之前的知识点之外,JetPack又出现了。
如何学习?
如果你缺乏学习资料,而我正好来到这本书,由阿里巴巴十年技术专家联合打造,“最新”《Jetpack 架构组件入门到精通》和《Jetpack 强化实战手册》是一本向日葵宝书,供你学习Jetpack。以下文本开始:
《Jetpack 架构组件入门到精通》Android Jetpack – 导航
Navigation 直接转换为导航,是 Android Jetpack 组件之一,它使单活动应用程序成为首选架构。应用中Fragment页面的跳转由Navigation处理,开发者无需处理复杂的FragmentTransaction及相关的过渡*敏*感*词*。
Android Jetpack - 数据绑定
Data Binding 是一个支持库,它使用声明方式而不是编码方式来绑定 UI 控件和数据源。
Android Jetpack - ViewModel 和 LiveData
ViewModel 将视图和逻辑分开。Activity 或 Fragment 只负责 UI 显示部分。ViewModel 负责特定的网络请求或数据库操作。类似于 MVP 模式中的 Presenter 层。
LiveData 是一个可观察的数据存储类。与常规的 observable 类不同,LiveData 具有生命周期意识,这意味着它遵循其他应用程序组件的生命周期,例如 Activity、Fragment 或 Service。
Android Jetpack – 房间
Room 是 Jetpack 组件库的成员,属于 ORM 库。主要是对Sqlite进行抽象,为开发者简化数据库操作。Room 支持编译时语法检查并支持返回 LiveData。
Android Jetpack – 分页
Paging Libray 分为三个部分:DataSource、PagedList、PagedAdapter
Android Jetpack – WorkManger
WorkManager 是 Android Jetpack 中管理后台任务的组件。
常见使用场景:1.向后端服务发送日志或分析数据2. 定期与服务器同步应用数据
使用 WorkManager API 可以轻松安排后台任务。可以延迟运行(即不需要立即运行)并在应用退出(进程未关闭)或应用重新启动时可靠运行的任务。
Android Jetpack 架构组件的生命周期
为了应用安全,从后台切换到前台时,经常需要进行软件确认等安全确认处理。在过去,这个要求实际上是很难达到的。但是自从 Google 引入了 Lifecycle 组件之后,这个要求就变得简单多了。除了从后台切换到前台的感知之外,Lifecycle 可以使用该组件更轻松地实现复杂的生命周期操作。
Android Jetpack Compose 最完整的入门指南
Compose 并没有像 RecyclerView 和 ConstraintLayout 那样做一个或几个高级的 UI 控件,而是直接抛弃了我们写了 N 年的那一套 View 和 ViewGroup,从上到下的框架卷起了一套全新的 UI。说白了,它的渲染机制、布局机制、触控算法、UI具体写法都是新的。
由于篇幅有限,部分内容以截图形式展示。如果需要完整版的学习手册,可以到我的【Github】阅读下载。《Jetpack增强实用手册》一、了解ConstraintLayout的登录页面
1.创建项目
2.沉浸式布局
3.富文本
4.属性*敏*感*词*
二、APP主框架导航实践实现及Navigation介绍
1.构建底部导航活动
2.导航界面跳转
3.导航传值
4.导航跳转*敏*感*词*
5.导航文件拆分
6.深度链接导航
三、使用Coroutines、Retrofit、Moshi实现网络数据请求
1.kotlin – Coroutine Coroutines
2.使用协程和Retrofit实现网络请求
四、使用TabLayout、ViewPager2、RecyclerView实现播放列表方页
1.ViewPager2
2.标签布局
3.RecyclerView
4.网络数据请求和数据填充
5.优化界面
五、歌单页MVVM架构改造及ViewModel和LiveData的使用介绍
1.MVC与MVVM介绍
2.修改播放列表页面
六、分页实现加载更多和下拉刷新,出错后重新请求
1.分页优势
2.分页实现分页加载更多
3.Paging 和 SwipRefreshLayout 结合实现下拉刷新
4.将处于加载状态的Footer添加到RecyclerView
5.网络错误后重试
6.帧*敏*感*词*
七、vlayout 嵌套横向 RecyclerView 和 Banner 展示首页,自定义 Moshi 的 JsonAdapter
1.vlayout架构分析
2.vlayout布局介绍
3.基本工作准备
4.vlayout 实现轮播图
5.字段内容类型不一致
八、房间数据库实现增删改查、事务处理
1.添加 Room 依赖
2.房间详情
3.DataBase 创建时插入数据
4.Room实现播放列表标签编辑界面的增删改查
九、房间数据库迁移
1.新实体
2.新道
3.修改数据库
4.修改 HomeViewModel
5.迁移
十、ExoPlayer实现视频播放
1.ExoPlayer 简介
2.ExoPlayer 简单使用
3.ExoPlayer 简单自定义
4.ExoPlayer 高级自定义
5.RecyclerView中ExoPlayer的复用
十个 一、MotionLayout 让*敏*感*词*变得如此简单
1.MotionLayout 基础知识
2.关键帧
3.启动*敏*感*词*和监控*敏*感*词*的代码
4.MotionLayout 案例研究
十个二、Kotlin Flow 基础知识
1.Flow介绍的场景
2.流特征
3.Flow 的构造函数
4.流中间操作函数
5.流程结束函数
6.Flow 的错误异常处理
7.流程取消
8.StateFlow/MutableStateFlow
十个三、Kotlin Flow项目实战——网络、数据库和UI应用
1.MVVM架构中为Flow保留的位置
2.网络数据请求
3.UI相关——在输入框中输入关键词
4.数据库
@>
十个 四、View Binding 替换 ButterKnife 和 Kotlin 合成
1.解决findViewById的悲伤
2.使用视图绑定
3.从 Kotlin 合成迁移到视图绑定
有需要的朋友可以直接点击这里免费获取完整文档。