论坛
潜水/灌水快乐,沉淀知识,认识更多同行。
ToB圈子
加入IT圈,遇到更多同好之人。
朋友圈
看朋友圈动态,了解ToB世界。
ToB门户
了解全球最新的ToB事件
博客
Blog
排行榜
Ranklist
文库
业界最专业的IT文库,上传资料也可以赚钱
下载
分享
Share
导读
Guide
相册
Album
记录
Doing
搜索
本版
文章
帖子
ToB圈子
用户
免费入驻
产品入驻
解决方案入驻
公司入驻
案例入驻
登录
·
注册
只需一步,快速开始
账号登录
立即注册
找回密码
用户名
Email
自动登录
找回密码
密码
登录
立即注册
首页
找靠谱产品
找解决方案
找靠谱公司
找案例
找对的人
专家智库
悬赏任务
圈子
SAAS
ToB企服应用市场:ToB评测及商务社交产业平台
»
论坛
›
软件与程序人生
›
云原生
›
Android-Jetpack架构组件(一)带你相识Android-Jetpack ...
Android-Jetpack架构组件(一)带你相识Android-Jetpack
熊熊出没
金牌会员
|
2024-7-11 07:28:54
|
显示全部楼层
|
阅读模式
楼主
主题
556
|
帖子
556
|
积分
1668
下图是Jetpack的分类。
谷歌仍旧不停的完善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应用架构如下图所示。
这些架构组件既可以配合使用,也可以单独使用,这里建议还是尽量按照官方保举的来。
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移动开发全套学习资料》,初衷也很简单,就是盼望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
既有适合小白学习的零底子资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,根本涵盖了95%以上Android开发知识点,真正体系化!
由于文件比较大,这里只是将部门目录截图出来,每个节点里面都包罗大厂面经、学习条记、源码讲义、实战项目、讲解视频,并且会连续更新!
假如你觉得这些内容对你有帮助,可以扫码获取!!(备注:Android)
如何做好面试突击,规划学习方向?
面试题集可以帮助你查漏补缺,有方向有针对性的学习,为之后进大厂做预备。但是假如你仅仅是看一遍,而不去学习和深究。那么这份面试题对你的帮助会很有限。最终还是要靠资深技术水平说话。
网上学习 Android的资料一大堆,但假如学到的知识不成体系,碰到题目时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。建议先制定学习操持,根据学习操持把知识点关联起来,形成一个系统化的知识体系。
学习方向很容易规划,但是假如只通过碎片化的学习,对自己的提升是很慢的。
我搜集整理过这几年字节跳动,以及腾讯,阿里,华为,小米等公司的面试题,把面试的要求和技术点梳理成一份大而全的“ Android架构师”面试 Xmind(现实上比预期多花了不少精力),包罗
知识脉络 + 分支细节
。
在搭建这些技术框架的时间,还整理了系统的高级进阶教程,会比自己碎片化学习结果强太多。
网上学习 Android的资料一大堆,但假如学到的知识不成体系,碰到题目时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。盼望这份系统化的技术体系对大家有一个方向参考。
《互联网大厂面试真题剖析、进阶开发焦点学习条记、全套讲解视频、实战项目源码讲义》点击传送门即可获取!
《互联网大厂面试真题剖析、进阶开发焦点学习条记、全套讲解视频、实战项目源码讲义》点击传送门即可获取!
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
本帖子中包含更多资源
您需要
登录
才可以下载或查看,没有账号?
立即注册
x
回复
使用道具
举报
0 个回复
倒序浏览
返回列表
快速回复
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
or
立即注册
本版积分规则
发表回复
回帖并转播
回帖后跳转到最后一页
发新帖
回复
熊熊出没
金牌会员
这个人很懒什么都没写!
楼主热帖
TortoiseGit间接处理linux目录下的仓库 ...
Java如何调用HttpURLConnection类模拟 ...
Java 知识 - 接口代理
SeaTunnel 发布成为 Apache 顶级项目后 ...
django小项目 ----- 创建错题集 ...
Spring(十):注解实现自动装配 ...
[Golang] GO 语言工作环境的基本概念 ...
java 基础——数组
cas服务端、客户端搭建
数仓的等待视图中,为什么会有Hashjoin ...
标签云
挺好的
服务器
快速回复
返回顶部
返回列表