熊熊出没 发表于 2024-7-11 07:28:54

Android-Jetpack架构组件(一)带你相识Android-Jetpack

下图是Jetpack的分类。
https://img-blog.csdnimg.cn/img_convert/fbe4e89876cb642d27fa4de71d6c55ab.webp?x-oss-process=image/format,png
谷歌仍旧不停的完善Android Jetpack,截至到2019年8月已经有很多新加的组件并没有显示在上图中,比如CameraX等。Android Jetpack分类有4种,分别是Architecture、Foundationy、Behavior、UI,下面分别先容下。
2.1 Architecture(架构组件)

Architecture指的是架构组件,帮助开发者计划稳健、可测试且易维护的应用。架构组件可以说是对应用开发帮助最大的组件,本系列也是围绕着架构组件进行讲解。
DataBinding:以声明方式将可观察数据绑定到界面元素,通常和ViewModel配合使用。
Lifecycle:用于管理Activity和Fragment的生命周期,可帮助开发者天生更易于维护的轻量级代码。
LiveData: 在底层数据库更改时通知视图。它是一个可观察的数据持有者,与通例observable差别,LiveData是生命周期感知的。
Navigation:处置惩罚应用内导航。
Paging:可以帮助开发者一次加载和显示小块数据,按需加载部门数据可减少网络带宽和系统资源的使用。
Room:友好、流畅的访问SQLite数据库。它在SQLite的底子上提供了一个抽象层,允许更强盛的数据库访问。
ViewModel: 以生命周期的方式管理界面相干的数据,通常和DataBinding配合使用,为开发者实现MVVM架构提供了强有力的支持。
WorkManager: 管理Android的后台的作业,纵然应用程序退出或设备重新启动也可以运行可延迟的异步任务。
官方保举的Android应用架构如下图所示。
https://img-blog.csdnimg.cn/img_convert/347f74af8bae7c3ae90396eee6a11302.webp?x-oss-process=image/format,png
这些架构组件既可以配合使用,也可以单独使用,这里建议还是尽量按照官方保举的来。
2.2 Foundationy(底子组件)

底子组件提供横向功能,例如向后兼容性、测试、安全、Kotlin 语言支持,并包括多个多个平台开发的组件。
Android KTX:优化了供Kotlin使用的Jetpack和Android平台API。帮助开发者以更简洁、更愉悦、更惯用的方式使用Kotlin进行Android开发。
AppCompat:帮助较低版本的Android系统进行兼容。
Auto: 开发Android Auto应用的组件,提供了适用于所有车辆的标准化界面和用户交互。
检测:从AndroidStudio中快速检测基于Kotlin或Java的代码。
多Dex处置惩罚:为具有多个Dex文件应用提供支持。
安全:安全的读写加密文件和共享偏好设置。
测试:用于单位和运行时界面测试的Android 测试框架。
TV: 构建可让用户在大屏幕上体验沉浸式内容的应用。
Wear OS:开发Wear应用的组件。
2.3 Behavior(举动组件)

举动组件可帮助开发者的应用与标准Android服务(如通知、权限、分享)相集成。
CameraX:帮助开发简化相机应用的开发工作。它提供一致且易于使用的界面,适用于大多数Android。 设备,并可向后兼容至Android 5.0(API 21)。
DownloadManager:处置惩罚长时间运行的HTTP下载的系统服务。
媒体和播放:用于媒体播放和路由(包括Google Cast)的向后兼容API。
通知:提供向后兼容的通知API,支持Wear和Auto。
权限:用于查抄和请求应用权限的兼容性API。
设置:创建交互式设置,建议使用AndroidX Preference Library库将用户可配置设置集成到应用中。
分享操纵:可以更轻松地实现友好的用户分享操纵。
切片:切片是一种UI模板,创建可在应用外部显示应用数据的灵活界面元素。
2.4 UI(界面组件)

Animation and Transition:该框架包罗用于常收结果的内置动画,并允许开发者创建自定义动画和生命周期回调。
Emoji Compatibility:即便用户没有更新Android系统也可以获取最新的心情符号。
Fragment:组件化界面的根本单位。
结构:用XML中声明UI元素大概在代码中实例化UI元素。
调色板:从调色板中提取出有用的信息。
3.在应用中引入Jetpack相干组件

在项目build.gradle中添加google() 库,如下所示。
allprojects {
repositories {
google()
jcenter()
}
}
假如想引入Room,可以在模块build.gradle中这么写:
implementation “android.arch.persistence.room:runtime:1.1.1”
annotationProcessor "android.arch.persistence.room:compiler:1.1.1 "
androidTestImplementation “android.arch.persistence.room:testing:1.1.1”
自我先容一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。
深知大多数初中级Android工程师,想要提升技能,通常是自己摸索成长大概是报班学习,但对于培训机构动则近万的学费,着实压力不小。自己不成体系的自学结果低效又漫长,而且极易碰到天花板技术故步自封!
因此收集整理了一份《2024年Android移动开发全套学习资料》,初衷也很简单,就是盼望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
https://img-blog.csdnimg.cn/img_convert/03484d1210cc1d43d34cb88c09fb783b.png
https://img-blog.csdnimg.cn/img_convert/27f34e29cc6755efa8bcc9b350e073cc.png
https://img-blog.csdnimg.cn/img_convert/ed4b666c3998725483afdfc455d29d83.png
https://img-blog.csdnimg.cn/img_convert/9f0b82ddb228110c3a7b7796107deba9.png
https://img-blog.csdnimg.cn/img_convert/c0ef3d028decb5e240f5ddcf1d38e2e7.png
既有适合小白学习的零底子资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,根本涵盖了95%以上Android开发知识点,真正体系化!
由于文件比较大,这里只是将部门目录截图出来,每个节点里面都包罗大厂面经、学习条记、源码讲义、实战项目、讲解视频,并且会连续更新!
假如你觉得这些内容对你有帮助,可以扫码获取!!(备注:Android)
https://img-blog.csdnimg.cn/img_convert/d7fe0c5793ea3b5f8efef0f6946b0760.jpeg 如何做好面试突击,规划学习方向?

面试题集可以帮助你查漏补缺,有方向有针对性的学习,为之后进大厂做预备。但是假如你仅仅是看一遍,而不去学习和深究。那么这份面试题对你的帮助会很有限。最终还是要靠资深技术水平说话。
网上学习 Android的资料一大堆,但假如学到的知识不成体系,碰到题目时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。建议先制定学习操持,根据学习操持把知识点关联起来,形成一个系统化的知识体系。
学习方向很容易规划,但是假如只通过碎片化的学习,对自己的提升是很慢的。
我搜集整理过这几年字节跳动,以及腾讯,阿里,华为,小米等公司的面试题,把面试的要求和技术点梳理成一份大而全的“ Android架构师”面试 Xmind(现实上比预期多花了不少精力),包罗知识脉络 + 分支细节。
https://imgconvert.csdnimg.cn/aHR0cHM6Ly91cGxvYWQtaW1hZ2VzLmppYW5zaHUuaW8vdXBsb2FkX2ltYWdlcy8xNjU5NTAzMS03NzcyMmNhYzA0YWM1NTI5?x-oss-process=image/format,png
在搭建这些技术框架的时间,还整理了系统的高级进阶教程,会比自己碎片化学习结果强太多。
https://imgconvert.csdnimg.cn/aHR0cHM6Ly91cGxvYWQtaW1hZ2VzLmppYW5zaHUuaW8vdXBsb2FkX2ltYWdlcy8xNjU5NTAzMS1mNDAxOWI3ZTc4Nzc2Y2VhLmpwZw?x-oss-process=image/format,png
网上学习 Android的资料一大堆,但假如学到的知识不成体系,碰到题目时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。盼望这份系统化的技术体系对大家有一个方向参考。
《互联网大厂面试真题剖析、进阶开发焦点学习条记、全套讲解视频、实战项目源码讲义》点击传送门即可获取!
《互联网大厂面试真题剖析、进阶开发焦点学习条记、全套讲解视频、实战项目源码讲义》点击传送门即可获取!

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
页: [1]
查看完整版本: Android-Jetpack架构组件(一)带你相识Android-Jetpack