正式发布 Android 架构组件 1.0 稳定版 | 附带中文介绍视频

Android 架构组件全示例 Android架构组件属于Jetpack的组成部分,彻底改变了开发人员构建健壮且易于维护的Android应用程序的方式。通过Room、Lifecycle-aware组件、ViewModels、LiveData、Paging、Navigation、ViewBinding和WorkManager等组件,开发人员现在可以利用强大的工具来创建可扩展、高效且易于维护的应用程序。 阅读详情


class="video_iframe" allowfullscreen="" width="670" height="376.875" src="https://v.qq.com/iframe/player.html?vid=r05010zbrr3&width=670&height=376.875&auto=0" scrolling="no">

几十亿的设备都在用 Android 系统,从高端手机到飞机上的影音娱乐系统,应有尽有,不一而足。而 Android OS 则为这几十亿的设备保驾护航,高效管理资源,保障运行流畅,然而有时候却增加了开发卓越 App 的难度。为了简化开发流程,我们在 Google I/O 大会上发布了架构组件(Architecture Components)的预览版,为 App 开发构架提供指南,并为常见任务,如生命周期管理、数据持久性等提供了一系列库。有了这些基础组件的帮助,开发者能够使用更少的样板代码写出模块化 App,将精力用于创新而非重复体力劳动 —— 我们也会在今后继续完善这一基础架构。


今天我们很高兴地宣布 Room 和生命周期管理(Lifecycles)的架构组建库 1.0 稳定版正式发布,其 API 已经可以在生产环境的 App 和库中使用,并且我们强烈建议在 App 架构和本地储存方面需要帮助的开发者使用这些 API (只是推荐使用,并不硬性要求)。此外生命周期管理同时也已集成到支持库中(Support Library),因此开发者也可以在标准类别里,如 AppCompatActivity 中使用这些 API。


虽然我们今日才发布稳定版,其测试版组件早已被整合进达十亿量级下载的 App 中。架构组件帮助很多顶级开发团队,如 Zapppos,将更多的时间集中在更为关键的工作中。

在架构组件发布之前,我们有自己的 ViewModel 实现,通过加载器(Loader) 和依赖注入(Dependency Injection)保证即使配置更改后,ViewModel 依旧不变。我们最近转用了架构组件中的 ViewModel 实现,并完全摆脱了重复工作,我们发现可以将更多的时间用于设计、业务逻辑和测试,而不是浪费在样板代码或担心 Android 生命周期的问题上。

同时我们也开始借助 LiveData —— 一个可以感知 Activity 生命周期的数据容器 —— 用于获取和显示网络数据,而不用再担心网络调用的订阅管理。 —— David Henry,Zappos 的 Android 软件工程师


架构组件提供简单、灵活而且操作性高的方法,解决开发者遇到的常见问题,让他们可以专注于打造一流的用户体验。在其背后,我们通过 App 架构指南,将多个核心构建单元捆绑在一起。



Lifecycles

每个 Android 开发者都应该面对过生命周期问题,即操作系统启动、停止和销毁 Activity。这意味着开发者需要根据生命周期的不同阶段,有针对性地管理组件状态,比如用于更新用户界面的可观察对象。生命周期管理(Lifecycles)帮助开发者创建 “可感知生命周期的” 组件,让其自己管理自己的生命周期,从而减少内存泄露和崩溃的可能性。生命周期库是其他架构组件(如 LiveData)的基础。


了解更多 Lifecycles 相关内容:

https://developer.android.google.cn/topic/libraries/architecture/lifecycle.html



LiveData

LiveData 是一款基于观察者模式的可感知生命周期的核心组件。LiveData 为界面代码 (Observer)的监视对象 (Observable),当 LiveData 所持有的数据改变时,它会通知相应的界面代码进行更新。同时,LiveData 持有界面代码 Lifecycle 的引用,这意味着它会在界面代码(LifecycleOwner)的生命周期处于 started 或 resumed 时作出相应更新,而在 LifecycleOwner 被销毁时停止更新。通过 LiveData,开发者可以方便地构建安全性更高、性能更好的高响应度用户界面。


了解更多 LiveData 相关内容:

https://developer.android.google.cn/topic/libraries/architecture/livedata.html



ViewModel

ViewModel 将视图的数据和逻辑从具有生命周期特性的实体(如 Activity 和 Fragment)中剥离开来。直到关联的 Activity 或 Fragment 完全销毁时,ViewModel 才会随之消失,也就是说,即使在旋转屏幕导致 Fragment 被重新创建等事件中,视图数据依旧会被保留。ViewModels 不仅消除了常见的生命周期问题,而且可以帮助构建更为模块化、更方便测试的用户界面。


了解更多 ViewModel 相关内容:

https://developer.android.google.cn/topic/libraries/architecture/viewmodel.html



Room

几乎所有 App 都需要在本地储存数据。自从最早版本开始,Android 就提供了 SQLite,但是直接使用 SQLite是件苦差事。因此,我们推出了 Room,一款简单好用的对象映射层。它和 SQLite 有一样强大的功能,但是节省了很多重复编码的麻烦事儿。它的一些功能,如编译时的数据查询验证、内置迁移支持等,让开发者能够更简单地构建健壮的持久层。而且 Room 可以和 LiveData 集成在一起,提供可观测数据库并感知生命周期的对象。Room 集简洁、强大和可靠性为一身,在管理本地储存上表现卓越,我们强烈推荐各位开发者试用一下。


了解更多 Room 相关内容:

https://developer.android.google.cn/topic/libraries/architecture/room.html



App 架构指南以及更多讯息

最后还有一个要点得说明一下:我们撰写了 “App 架构指南”,涵盖数条适用于所有开发者的关键原则以及针对架构组件的具体指导。因为有开发者向我们反映,清晰、连贯的指南文档很重要,因此我们现在更新了开发者文档,在适当之处指明架构组件。此外,我们还在官网发布了一系列相关视频、codelab 和 App 样本,并且会陆续补充。


App 架构指南:

https://developer.android.google.cn/topic/libraries/architecture/guide.html


Android 架构组件官网:

https://developer.android.google.cn/topic/libraries/architecture/index.html



继续注意此领域

尽管首套架构组件已经发布稳定版,我们深知路漫漫其修远兮。在过去的几个月中,我们正对各位提出的反馈,认真作出改进。在最近通过 Alpha 测试版渠道,我们还发布了新组件 —— PagedList,解决大家用 RecyclerView 处理大数据集的困难。旅途才刚刚开始,我们还有更多重要组件还在开发阶段,有望在未来的几个月和大家见面。


了解更多 PagedList 内容:

https://developer.android.google.cn/topic/libraries/architecture/paging.html


提交反馈:

https://developer.android.google.cn/topic/libraries/architecture/feedback.html


我们希望架构组件能够解放开发者,让各位能够专注于创新,打造移动端独一无二的新体验。我们很高兴最终发布可用于生产环境的稳定版本。在此,我们特别要感谢开发者一直以来提供的宝贵建议,希望各位在下方讨论区踊跃留言。各位一直翘首以盼稳定版的朋友们,何不今天就开始下载使用?



推荐阅读:

深圳 Google Playtime 2017 完美收官!

Android 支持库 v26 有哪些变化?

Android Oreo 可下载字体

现有超过 5 亿台设备支持 Android Instant Apps

Android 8.1 开发者预览版 —— 为 ML 机器学习做好准备的 Oreo 升级版


Android、网页开发必备_google风格界面UI组件大全_PSD格式 PSD格式的google风格的界面设计,包含Android或网页开发所需的UI组件,打造绚丽前端。 立即下载

相关推荐

谷歌官方架构组件demo

谷歌官方架构组件demo,viewmodel、livedata、room等详细使用

Android组件化架构解析总结

前面说到,组件化的核心就是解耦,所以组件和组件之间是不能有依赖的,例如在首页模块点击购物车按钮需要跳转到购物车模块的购物车页面,两个模块之间没有依赖,所以不能在使用Activity的显示跳转来跳转页面了 ,虽然隐式启动是可以实现跳转的,但是隐式 Intent 需要通过 AndroidManifest 配置和管理,协作开发显得比较麻烦。建议创建一个lib_core的公共功能模块组件,将常用的与业务无关的功能封装到此模块中,例如图片加载功能,网络请求功能,日志管理功能等,这些功能可以被所有的app通用。

XBlithe的博客 2205

东方财富API隐藏技巧:这样获取分时均价线数据更稳定(避坑指南)

本文深入解析东方财富API获取股票分时数据,特别是分时均价线的实战技巧与避坑指南。针对高频调用中常见的请求失败、数据错位及IP限制等问题,提供了从接口参数深层解析、稳健请求与错误处理机制,到系统优化与数据校验的全流程解决方案,帮助开发者构建稳定可靠的数据采集系统。

rice5的博客 2521

如何从开发流程层面实现更高效的持续交付

本文从开发流程角度分析了持续交付的实现,开发人员的沟通问题会拖延发布日期,必须客观地观察,才能了解成员之间的问题和流程缺陷,可视化的系统有助于找到问题所在,并在最短时间内解决,使用工具或系统管理工作数据是有效提高效率的方式之一。 如今,许多企业组织都在实施持续交付的做法。但想要提高持续交付的效率,很多时候会觉得是在构建自动化测试和环境部署的时候出了问题,不过我们认为还有其他因素导致我们发布软...

Eolink 的博客 598

奇异值分解(SVD)C++实现

奇异值分解SVD(紧奇异值分解,截断奇异值分解)C++实现

weixin_45804601的博客 4172

第12篇: COZE 实操【自动生成每日英语短视频】详细制作流程

通过以上详细流程,你可以利用 Coze 智能体高效生成每日英语短视频。在实际操作中,若遇到问题或有新的创意需求,欢迎随时与我交流,进一步优化视频制作流程。从左侧节点库中拖拽 “开始” 节点到画布中央,设置主题输入框(如输入 “日常购物英语”),方便后续根据不同主题生成视频。2. 选题策划节点​。3. 内容生成节点​。4. 画面生成节点​。5. 配音生成节点​。6. 音频匹配节点​。7. 视频合成节点​。

AI实操部署-深耕AI领域老菜鸟! 2068

Android 架构组件

Android 架构组件 Android架构组件包括: Lifecycles LiveData ViewModel Room Paging WorkManager DataBinding Navigation LifeCycles&LiveData&ViewModel 首先,请查看下图,该图显示了设计应用后所有模块应如何相互交互: 每个组件仅依赖于其下一级的组件。例如,Acti...

sxfda的专栏 497

quartusII简易CPU设计

优点可以实现八种运算,数据的存取及运算都能很好的实现,上板也很成功。缺点首先由于自己知识储备的缺乏,只能实现较为简单的8种运算,也是最简单的直接寻址。其次为了方便操作,没有从外部输入数据,都是直接使用存储在存储器中的数据。后续发展后续会在此简易CPU的基础上增加一些功能对CPU进行完善,如算术运算可以考虑是补码运算,输入、输出采用存储缓冲等等,直至完整的全功能的处理器。收获通过这次实践,更熟悉Quartus软件的操作。能过更加清楚每个器件的操作,比如计数器,运算器,译码器等的实现功能。

Kong08242022的博客 3482

Android架构组件-App架构指南

最后看一下学习需要的所有知识点的思维导图。在刚刚那份学习笔记里包含了下面知识点所有内容!文章里已经展示了部分!如果你正愁这块不知道如何学习或者想提升学习这块知识的学习效率,那么这份学习笔记绝对是你的秘密武器!

2401_84132357的博客 1393

GD32 TIMER0 PWM输出死活没波形?别忘了这个关键配置(附完整代码)

本文详细解析了GD32 TIMER0 PWM输出无波形的常见问题,特别强调了高级定时器特有的主输出使能配置。通过完整的代码示例和调试技巧,帮助开发者快速解决PWM输出问题,适用于无刷电机控制等嵌入式应用场景。

weixin_30906185的博客 397

CodeBuddy 接入 MCP,一键生成网站!

2024 年 11 月,Anthropic 公司搞了个挺有意思的新玩意 - Model Context Protocol(模型上下文协议)简称为 MCP 协议。简单来说,它就是给 AI 和各类工具数据之间搭了个标准化的”桥梁”,让开发者不用再为对接问题头疼了。mcp.so如下图所示,这是 mcp.so 网站中的 MCP Server。使用百度/高德地图分析旅线计算时间接 Puppeteer 自动操作网页使用 Github/Gitlab 让大模型接管代码仓库。

悟空聊架构的专栏 1942

Android 架构组件(一)——Lifecycle

Android 架构组件(一)——Lifecycle-Aware Components 有一天“谷歌开发者”官微推送了《正式发布 Android 架构组件 1.0 稳定版 | 附带中文介绍视频》,发现这种架构足够秒杀MVP、MVVM,虽然之前的Google I/O大会中也介绍过,但是这次推出是稳定版,而且是可以投入到生产中去。于是就顺着这篇去官网看了使用文档——《Guide to App

sd_zhuzhipeng的专栏 3万+

【嵌入式DIY实例-ESP32篇】-热成像仪

在本文中,我们将使用 MLX90640 热像仪和 1.8 英寸 ST7735 TFT 显示屏,构建一款基于 ESP32 的高性能紧凑型热像仪。本项目旨在打造一款便携、响应迅速的热像仪,具有增强的图像质量、优化的帧率和精准的温度读数。

视觉与物联智能 876

正式发布 Android 架构组件 1.0 稳定版

点此查看真人版中文介绍视频:v.qq.com/x/page/r050…几十亿的设备都在用 Android 系统,从高端手机到飞机上的影音娱乐系统,应有尽有,不一而足。而 Android OS 则为这几十亿的设备保驾护航,高效管理资源,保障运行流畅,然而有时候却增加了开发卓越 App 的难度。为了简化开发流程,我们在 Google I/O 大会上发布了架构组件(Architecture Compon...

weixin_34187822的博客 301

基于深度学习的野生菌菇检测识别分类系统(YOLOv8 + UI界面 + 数据集)

随着深度学习技术的迅猛发展,计算机视觉领域的应用得到了广泛的关注。野生菌菇的检测与识别是一个复杂而又有趣的问题,涉及到物体检测、图像分类以及自然语言处理等技术。本文将介绍如何基于YOLOv8模型,结合自定义UI界面与数据集,构建一个高效且精确的野生菌菇检测识别分类系统。首先,我们将介绍YOLOv8的原理与特点,然后详细描述如何构建和训练野生菌菇识别模型,并介绍如何为该系统设计UI界面,最终形成一个完整的系统。本文内容包括代码实现、模型训练及数据集准备等,旨在为有类似需求的开发者提供参考和帮助。目录摘要目录。

YOLO 1546

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

Android架构组件(1)——Lifecycle

Android 架构组件(一)——Lifecycle-Aware Components 有一天“谷歌开发者”官微推送了《正式发布 Android 架构组件 1.0 稳定版 | 附带中文介绍视频》,发现这种架构足够秒杀MVP、MVVM,虽然之前的Google I/O大会中也介绍过,但是这次推出是稳定版,而且是可以投入到生产中去。于是就顺着这篇去官网看了使用文档——《Guide to App Architecture》。为了能够更好的理解架构组件的原理,准备先从Lifecycle入手,一步步去理解。 为什么

Grekit_Sun的博客 263

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

Android Studio 集成开发工具教学视频 + 项目实战安卓多SDK接入与集成

简介 经过2年时间的研发,Google终于正式发布了面向Android开发者的集成开发环境Android Studio 1.2(稳定版)。Android Studio是Google开发的一款面向Android开发者的IDE,支持Windows、Mac、Linux等操作系统,基于流行的Java语言集成开发环境IntelliJ搭建而成。该IDE在2013年5月的Google I/O开发者大会上首次露...

weixin_30294709的博客 329

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

Android进阶 ——— Android官方架构组件Lifecycle

初探 Lifecycle是Android官方推出的架构组件,在谷歌开发者官微发布的正式发布 Android 架构组件 1.0 稳定版 | 附带中文介绍视频 简明扼要的阐述了推出的架构组件的作用及使用,也可以查看Android开发者官网。 先来看看架构组件的第一部分Lifecycle。 在长篇大论之前,先要了解它的作用,为什么谷歌要推出Lifecycle? 就是为了解决常见架构模式中,声明...

dai的博客 680

最新android系统下载,安卓6.0抢先体验方法|安卓6.0下载 安卓6.0系统下载地址_PC6教学...

谷歌正式确定了Android M版本号为安卓6.0,同时确定其代号为MARshmallow(棉花糖),而且官方也放出了最新棉花糖系统的第三个开发者预览版固件,对于喜欢尝鲜和折腾用户肯定都想要升级体验一把,所以下面小编就为大家提供了安卓6.0的系统固件下载地址,方便大家升级,不过小白新手用户不建议尝试。友情提示:这个版本的安卓系统只是预览版系统,还有很多问题需要完善,仅限推荐给已经解锁设备的开发者测...

weixin_42295528的博客 5472

Android 13 现已正式发布至 AOSP

Android 13 的源代码推送至 Android 开源项目 (AOSP),并正式发布最新版本的 Android。对于开发者来说,Android 13 聚焦于我们的核心主题,即隐私和安全,以及开发者生产力,帮助您更轻松地为用户构建优良的体验。Android 开源项目适用于大屏设备开发的响应式布局Android 13 自即日起会推送至 Pixel 设备。......

u010345983的博客 742

Android 13 现已正式发布,看看有哪些更新!

Android 13正式发布,看看有哪些亮点?

宝爷的专栏 2485

1.2Android已发布的版本

1.2Android已发布的版本2008年9月,谷歌正式发布了Android1.0版本,这也是Android系统最早的版本,随后几年谷歌公司以惊人的速度不断地更新Android系统。以下简述至今为止Android发行过的版本。 Android在正式发行之前,最开始拥有两个内部测试版本,并以著名的机器人名称来对其进行命名,分别是阿童木(AndroidBeat),发条机器人(Android1.0)。后...

Qianlei00的博客 824

Cocos Creator 2.0.1 正式发布

2.0.0 是一个经历了大量底层重构的全新版本,部分开发者在升级项目过程中遇到了一些恼人的问题,这些问题我们一一收集并尽全力解决,现在为大家带来 2.0.1 版本。这个版本除了大幅度提升稳定性和项目升级的友好度以外,我们还为开发者带来了全新的微信小游戏开放数据域方案,大幅度提升开放数据域性能和使用的灵活度。详细更新列表FEATURE更新史上最好用开放数据域方案提供微信平台清理缓存的 API支持微信...

Cocos的博客 200
上一篇: 自定义View之Paint - PathEffect
下一篇: 教你快速使用AndroidStudio制作出一张合格.9图片
行云间
博客等级 码龄12年 438粉丝 173原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值