前言

Android Jetpack想必大家都耳熟能详了,Android KTXLiveDataRoom等等一系列库都是出自 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)

这代码真是又臭又长

最新文章

  1. Ubuntu安装Oracle SQLDeveloper
  2. Easyui datagrid加载本地Json数据,CGI数据
  3. Android -- android:configChanges
  4. 【BZOJ2190】【SDOI2008】仪仗队
  5. asp.net web 后台判断提示框,点击&#39;是&#39;执行代码A(),点击&#39;否&#39;执行代码B()
  6. WebRTC手记之本地音频采集
  7. vi/vim编辑器
  8. iosblock用法
  9. PL/SQL Developer编码格式设置及中文乱码解决方案
  10. Android数据存储技术
  11. Javascript基础学习(3)_对象和数组
  12. jquery.validate校验文件使用说明
  13. 用原生VideoView进行全屏播放时的问题
  14. Mybatis-Generator生成Mapper文件中&lt;if test=&quot;criteria.valid&quot;&gt;的问题解答
  15. JAVAWEB开发环境搭建,附JDK开发环境一键配置批处理bat
  16. java代码之美(7)---guava之Bimap
  17. SMB(Server Message Block) Protocal Research
  18. Win10上默认VS 2017以管理员身份运行
  19. slice,substring,substr的区别
  20. 多线程系列之八:Thread-Per-Message模式

热门文章

  1. Oracle数据库添加约束
  2. python基础五(函数、全局变量和局部变量)
  3. 小程序开发-6个优秀的UI组件库
  4. Django 多页面间参数传递用session方法(Django七)
  5. Web_php_unserialize 攻防世界
  6. 小程序开发-iView Weapp微信小程序UI组件库入门使用
  7. [Leetcode]Sql系列3
  8. Docker端口映射及创建镜像演示(二)
  9. hystrix源码小贴士之之hystrix-metrics-event-stream
  10. CBV、正则