是时候更新手里的武器了—Jetpack最全简析
前言
Android Jetpack想必大家都耳熟能详了,Android KTX
,LiveData
,Room
等等一系列库都是出自 Jetpack
。那么 Jetpack
到底是什么?又包含哪些你还没用过的东西?Google
推出这个的原因又是什么?今天我们就一起来完善一下我们脑中的Jetpack构图
。(篇幅较长,建议点赞关注Mark哦 )
介绍
2018年谷歌I/O,Jetpack
横空出世,官方介绍如下:
Jetpack 是一套库、工具和指南,可帮助开发者更轻松地编写优质应用。这些组件可帮助您遵循最佳做法、让您摆脱编写样板代码的工作并简化复杂任务,以便您将精力集中放在所需的代码上。
好好琢磨这段介绍就能解释我们刚才的问题。
Jetpack
到底是什么?
- 是一套库、工具和指南。说白了就是一系列的库或者工具集合,而且这些工具是作为我们优质应用的指南,相当于
官方推荐
做法。
google
推出这个系列的原因是什么?
- 规范开发者更快更好的开发出优质应用。一直以来,
Android开发
都充斥了大量的不规范的操作和重复代码,比如生命周期的管理,开发过程的重复,项目架构的选择等等。所以Google
为了规范开发行为,就推出这套指南,旨在让开发者们能够更好,更快,更规范
地开发出优质应用。
当然,这两年的实践也确实证明了Jetpack
做到了它介绍的那样,便捷,快速,优质。所以我们作为开发者还是应该早点应用到这些工具,提高自己的开发效率
,也规范我们自己的开发行为。下面我们就一起了解下Jetpack
的所有工具指南。GOGOGO!
先来一张官网的总揽图:
(温馨提示️
本文严格按照下图顺序对组件进行分析,有需要的可以从目录进入或者直接搜索查看)
Jetpack-基础组件
Android KTX
Android KTX 是包含在 Android Jetpack 及其他 Android 库中的一组 Kotlin 扩展程序。KTX 扩展程序可以为 Jetpack、Android 平台及其他 API 提供简洁的惯用 Kotlin 代码。为此,这些扩展程序利用了多种 Kotlin 语言功能
所以Android KTX
就是基于kotlin
特性而扩展的一些库,方便开发使用。
举:
现在有个需求,让两个Set数组
的数据相加,赋值给新的Set数组
。正常情况下实现功能:
val arraySet1 = LinkedHashSet<Int>()
arraySet1.add(1)
arraySet1.add(2)
arraySet1.add(3)
val arraySet2 = LinkedHashSet<Int>()
arraySet2.add(4)
arraySet2.add(5)
arraySet2.add(6)
val combinedArraySet1 = LinkedHashSet<Int>()
combinedArraySet1.addAll(arraySet1)
combinedArraySet1.addAll(arraySet2)
这代码真是又臭又长
是时候更新手里的武器了—Jetpack最全简析的更多相关文章
- Win10《芒果TV》更新v3.8.0初夏版:全新视觉体验,即刻分享视频
历时半年多昼夜,千呼万唤始出来,Win10版<芒果TV>全平台同步更新初夏版v3.8.0,统一视觉体验,完善分享投屏,进一步提升使用体验. Win10版<芒果TV>V3.8.0 ...
- 维格表2月更新:智能图表上线,唤醒全量工作数据堪比AI
你是否曾经想过,你的维格表数据有朝一日变化出如科幻电影般的数据图表? 你是否感到厌倦,对当前的后台系统密密麻麻的数据累觉不爱? 你是否一直期待,拥有一个专属大数据 BI 看板,让你的规划如有神助,挥斥 ...
- 03.从0实现一个JVM语言系列之语法分析器-Parser-03月01日更新
从0实现JVM语言之语法分析器-Parser 相较于之前有较大更新, 老朋友们可以复盘或者针对bug留言, 我会看到之后答复您! 源码github仓库, 如果这个系列文章对你有帮助, 希望获得你的一个 ...
- 【6年开源路】FineUI家族今日全部更新(FineUI + FineUI3to4 + FineUI.Design + AppBox)!
刚才询问博客园团队: [6年开源路]三石今日送福利,AppBox4.0源码免费拿!FineUI家族今日全部更新(FineUI + FineUI3to4 + FineUI.Design + AppBox ...
- Oracle 常用操作【01】修改、更新数据
1. oracle 修改表名.列名.字段类型.添加表列.删除表列 alert table scott.test rename to test1--修改表名 alter table scott.tes ...
- Android 4.4 Kitkat Phone工作流程浅析(六)__InCallActivity显示更新流程
本文来自http://blog.csdn.net/yihongyuelan 转载请务必注明出处 本文代码以MTK平台Android 4.4为分析对象,与Google原生AOSP有些许差异,请读者知悉. ...
- Python爱好者社区历史文章列表(每周append更新一次)
2月22日更新: 0.Python从零开始系列连载: Python从零开始系列连载(1)——安装环境 Python从零开始系列连载(2)——jupyter的常用操作 Python从零开始系列连载( ...
- Unity 3D中 Ulua-UGUI简单的Demo——热更新的具体流程、使用说明
Ulua热更新具体流程.使用说明 本文提供全流程,中文翻译.Chinar坚持将简单的生活方式,带给世人!(拥有更好的阅读体验 -- 高分辨率用户请根据需求调整网页缩放比例) 1 -- 未完 1 -- ...
- 个人在 laravel 开发中使用到的一些技巧(持续更新)
1.更高效率地查询:使用批量查询代替 foreach 查询(多次 io 操作转换为一次 io操作) 如果想要查看更详尽的介绍,可以看看这篇文章 什么是 N+1 问题,以及如何解决 Laravel 的 ...
随机推荐
- ZK集群源码解读
1.1. 集群模式 1.1.1. 数据同步总流程 1.1.1.1. OBSERVING 1.1.1.2. FOLLOWING 1.1.1.3. LEADING 1.1.2. 领导选举 1.1.2. ...
- 关于Vue-Router的那些事儿
Vue-Router Vu-router是Vue.js的官方路由管理器,方便于构建页面,在我们的使用过程中,一般是在router的index.js文件中配置对应的组件和对应的路径 主要的功能 嵌套路由 ...
- pwnable——flag
分析 此题为reverse题目,首先放入ida查看: 程序函数太少,应该加过壳 在hex view中发现程序通过upx加壳,利用upx -d 指令解压得到程序,重新放入ida查看 程序非常简单,读取f ...
- 菜鸟电子面单对接技术方案(link)
一.背景 快递业务日新月异,收发快递是生活中不可缺少的一部分了,特别是做微商的商家,每天发送大量的快递.填写快递单已经成为过去式,快递小哥上门收件的时候,都使用手持的中端设备,再也不用客户填写快递单了 ...
- Oracle Rman备份恢复和管理
参考资料: Oracle之Rman入门指南 一步一步学Rman Rman简介 Rman-Recover manager恢复管理工具. Oracle集成了很多环境的一个数据库备份和恢复的工具. Rman ...
- MongoDB基础总结
1.数据可基本操作 1. 创建数据库 use databaseName 选择一个数据库,如果数据库不存在就自动创建一个数据库 只有向数据库中插入数据时,数据库才会被真实创建出来,而当数据库中没有数据 ...
- 面试:为了进阿里,重新翻阅了Volatile与Synchronized
该系列文章收录在公众号[Ccww技术博客],原创技术文章早于博客推出 在深入理解使用Volatile与Synchronized时,应该先理解明白Java内存模型 (Java Memory Model, ...
- jzoj 3431. 【GDOI2014模拟】网格
Description 某城市的街道呈网格状,左下角坐标为A(0, 0),右上角坐标为B(n, m),其中n >= m.现在从A(0, 0)点出发,只能沿着街道向正右方或者正上方行走,且不能经过 ...
- python中使用token模拟登录
背景:在接口测试中我们经常是需要一个登陆token,或者获取其他用到的参数来关联下一个接口用到的参数. Token的意义及用法 一.Token的来源: 当客户端多次向服务端请求数据时,服务端就需要多次 ...
- CTF-Bugku-杂项-21-28
2020.09.14 下午奥力给 做题 第二十一题 细心的大象 https://ctf.bugku.com/challenges#细心的大象 这一看就是一只有故事的大象,图片详情中有东西,base64 ...