学习Android Jetpack的笔记记录1_android jetck-程序员宅基地

技术标签: Google  笔记  android  Jetpack  

Google推出jetpack已经挺长时间了,但是我由于工作原因,没有什么时间去学习这个框架,日常工作也用不到这类技术。但是生命不息,学习不止呀。

 

首先介绍一下jetpack,按照Google官方的说法

Jetpack是一套库、工具和指南,可以帮助开发者更轻松地编写优质应用。这些组件可以帮助开发者遵循最佳做法、让开发者摆脱编写样板代码的工作并简化复杂任务,以便开发者将精力集中放在所需的代码上。

 

它可以帮助开发者快速的构建高质量的应用。它被分为四个主要模块:

 

1、Architeture:架构组件,按照我的理解,它是一套通用版的应用层架构。无论我们打算开发什么类型的APP,都会涉及到数据注入、Activity生命周期管理、数据库管理等操作。以往我们开发一款APP,都需要先自己写一套应用层框架,用来处理我刚刚说的那些工作。但现在,直接使用Architecture组件就行了,相当于Google官方统一了一套应用层开发框架。这样就大大减少了重复造轮子的时间,而且如果大家都使用同一套框架,那么代码的可读性、可维护性也就更高了。(避免了某些奇葩框架扰乱大家的视听)

 

2、Foundation:基础组件,它的主要目的是提高Android APP的兼容性,不仅是Android版本的纵向兼容,还提供了不同Android设备的横向兼容。比如一个App可以在Android手机上运行,那么借助Foundation组件,它就可以在平板电脑、汽车、手表、TV上运行,只要这些设备都搭载了Android操作系统,那么它就可以做到一次开发,到处运行。(这一点其实我是持怀疑态度的,毕竟我当年学java的时候,也说一次编译,到处运行。结果呵呵)

 

3、Behavior:行为组件,如名字所说,该组件统一很多Android场景下的行为代码,把它们封装成了一个简单易用的API,直接调用,简单的一批。比如说相机拍照对焦、权限申请、下载文件、系统通知等。Google把这类行为统一起来,我们在使用的时候就可以直接调用API提供的方法就行了。(开发难度-10086)

 

4、UI:这个组件感觉不需要多说了,做过开发的都知道,画界面,画互动性高的界面,这个工作量那可比写逻辑代码的工作量大多了。而且做的不好,还会直接影响用户体验,很容易让用户产生厌恶情绪。Google估计也意识到这点了,所以推出了UI组件,它提供了一套非常简单、高效且美观的界面绘制方案,可以展现丰富的动画效果,以及表情包的支持,最最厉害的是色彩管理,它提供一整套和谐美观的配色方案,简直是开发狗福音啊。

 

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/w366549434/article/details/111797724

智能推荐

ASP.NET 使用alert弹出对话框后,CSS样式失效,字体变大的解决方法_vs.net2017web中alert怎么不能用-程序员宅基地

文章浏览阅读632次。弹出提示窗口用的Response.Write("alert('删除成功');"),原来好用,不知道什么原因不能用了解决方法如下:使用Page.ClientScript.RegisterStartupScript(this.GetType(), "", "alert('XXXX');"); 代替原来的书写方式可以写成一个方法,供多处使用public static void WebM_vs.net2017web中alert怎么不能用

15、Nuxt.js代理转发解决跨域问题_nuxtjs 跨域-程序员宅基地

文章浏览阅读340次。【代码】15、Nuxt.js代理转发解决跨域问题。_nuxtjs 跨域

如何在CKEditor5富文本编辑器中获取工具栏可用项目_ckeditor5获取默认工具栏-程序员宅基地

文章浏览阅读654次。CKEditor5富文本编辑器官方地址Vue 的一个更简单的解决方案 - 只需@ready="onReady"在ckeditor组件和onReady方法中监听:onReady(event) { console.log(Array.from(event.ui.componentFactory.names()));},在vue.js中简单通过下面的示例即可实现;import ClassicEditorfrom '@ckeditor/ckeditor5-build-classic';expor_ckeditor5获取默认工具栏

《一个小时,学会黑客技能》——以前BiliBili上面的那个视频中的那个网站,我终于又找到了_黑客教学视频在哪里可以找到?-程序员宅基地

文章浏览阅读1.8k次,点赞4次,收藏11次。可能是最好用的网上教程。_黑客教学视频在哪里可以找到?

探秘GA-BP:一款强大的遗传算法与反向传播神经网络集成工具-程序员宅基地

文章浏览阅读411次,点赞4次,收藏7次。探秘GA-BP:一款强大的遗传算法与反向传播神经网络集成工具项目地址:https://gitcode.com/Grootzz/GA-BP项目简介GA-BP 是一个开源项目,它结合了遗传算法(Genetic Algorithm, GA)和反向传播(Backpropagation, BP)神经网络,旨在为机器学习和优化问题提供一种创新的解决方案。由开发者Grootzz维护,该项目提供了Pytho..._ga bpnn csdn

8个Python必备的PyCharm插件_pycharm常见插件-程序员宅基地

文章浏览阅读2k次,点赞28次,收藏35次。大家好,在PyCharm中浏览插件列表并尝试很多人推荐的插件后,总结了几个瑰宝插件,它们各自以独特的方式帮助开发者快速、简便、愉悦地开发,接下来将逐个介绍它们。_pycharm常见插件

随便推点

mysql 前沿表设计_史上最简单MySQL教程详解(基础篇)之表的维护和改造-程序员宅基地

文章浏览阅读58次。表结构修改在我们实际的开发的过程,随着开发的深入,会发现我们事先设计好的表可能已经不再适合,就会设计到对表的修改和改造。这里我就向大家介绍一下一些常用的方法和情况。这里我们使用的是之前在中就已经使用到了【ALTER】语句进行修改。注意事项:任何设计到表的的修改和改造的操作,都有可能发生不可预知的错误或者情况出现,所以安全起见,请在每次操作之前都做好数据的备份,以防万一。修改列的数据类型具体如下:A..._一个表的维护表设计

Python面向对象编程:类与对象-程序员宅基地

文章浏览阅读236次,点赞3次,收藏8次。1.背景介绍1. 背景介绍面向对象编程(Object-Oriented Programming,OOP)是一种编程范式,它将问题抽象为一组相关的对象,这些对象可以与一 another 进行交互。Python是一种强类型动态语言,支持面向对象编程,这使得Python成为了许多大型项目的首选编程语言。在本文中,我们将深入探讨Python的面向对象编程特性,包括类、对象、继承、多态等。2. ...

蚂蚁二面遭JVM调优灵魂拷问,逼得我啃透500页JVM实战笔记,成功上岸京东-程序员宅基地

文章浏览阅读505次,点赞5次,收藏12次。就写到这了,也算是给这段时间的面试做一个总结,查漏补缺,祝自己好运吧,也希望正在求职或者打算跳槽的 程序员看到这个文章能有一点点帮助或收获,我就心满意足了。多思考,多问为什么。希望小伙伴们早点收到满意的offer!越努力越幸运!金九银十已经过了,就目前国内的面试模式来讲,在面试前积极的准备面试,复习整个 Java 知识体系将变得非常重要,可以很负责任的说一句,复习准备的是否充分,将直接影响你入职的成功率。

序列号 java_JAVA序列号的serialVersionUID-程序员宅基地

文章浏览阅读411次。serialVersionUID 的规范 Serializable 和 ExternalizableJava类通过实现 java.io.Serializable 接口以启用其序列化功能。未实现此接口的类将无法进行序列化或反序列化。可序列化类的所有子类型本身都是可序列化的。如果读者看过Serializable的源码,就会发现,他只是一个空的接口,里面什么东西都没有。Serializable接口没有方..._serialversionuid 序列号

推出 TensorFlow 图神经网络 (GNNs)-程序员宅基地

文章浏览阅读1.1k次。发布人:Sibon Li、Jan Pfeifer、Bryan Perozzi 和 Douglas Yarrington日前,我们很高兴发布了 TensorFlow 图神经网络 (Graph..._图神经网络是用thesfolw吗

产生死锁的必要条件_不是产生线程死锁的必要条件是 一个进程因请求资源而阻塞时,对已获得的资源保特不-程序员宅基地

文章浏览阅读1k次,点赞2次,收藏2次。产生死锁的原因主要是:(1) 因为系统资源不足。(2) 进程运行推进的顺序不合适。(3) 资源分配不当等。如果系统资源充足,进程的资源请求都能够得到满足,死锁出现的可能性就很低,否则就会因争夺有限的资源而陷入死锁。其次,进程运行推进顺序与速度不同,也可能产生死锁。产生死锁的四个必要条件:(1)互斥条件:一个资源每次只能被一个进程使用。(2)请求与保持条件(占有等待):..._不是产生线程死锁的必要条件是 一个进程因请求资源而阻塞时,对已获得的资源保特不

推荐文章

热门文章

相关标签