2023 Google 开发者大会|Mobile开发专题追踪
文章目录
- 前言
- 大会介绍
- 涉及内容
- Mobile
- Web
- AI
- Cloud
- Mobile开发专题
- 多终端应用的开发
- 适配大屏
- 视频流
- 可穿戴设备
- 电视
- 新的设计中心
- 构建高质量的应用
- 高级相机和媒体功能
- 用户的安全和隐私
- 更精细的视觉体验
- 小结
前言
哈喽大家好,我是阿Q。近期,【2023 Google 开发者大会】备受关注,由于工作原因,虽然无法亲临现场,感受大会的盛况,但是通过线上参会的方式,还是能感受到现场的热情氛围和精彩内容。
大会介绍
首先我们先对 Google 开发者大会做一下简单的介绍:
Google 开发者大会是 Google 面向开发者和科技爱好者展示最新产品和平台的年度盛会。2023 Google 开发者大会(Google I/O Connect|China)为开发者提供丰富的学习资源,实践操作和现场演示,提供与谷歌专家互动、与其他开发者交流的契机,助力开发提效,释放团队创造力,简化工作流程,以开放式集成解决方案为开发者效力,共同构建创新生态,开启美好未来。*
涉及内容
本次大会的主题是:多元共进,大会分享了谷歌在多个领域内取得的成果和最新产品的展示。通过多元化的专题设置,开发者可以根据自己的兴趣和需求选择参与的专题,并深入了解该领域的最新技术和趋势。这有助于他们扩展知识面、开拓视野,并将学到的知识应用到实际项目中。
大会线上一共有50多个专题演讲可以回放,涵盖 Mobile 开发、Web 开发、AI 开发、Cloud 开发领域,在这里我就不一一展开了,感兴趣的小伙伴可以前往大会专题页观看专题回放视频,探索更多技术新知和前沿案例。https://marketing.csdn.net/p/8b1b4b3f5f0fe4c3cdf1c2d5e42a05c3
Mobile
Web
AI
Cloud
由谷歌官方打造的 Google 开发者在线课程也在不断更新中,10多个技术方向都有课程在上面,可以多去探索和学习。https://developers.google.cn/learn/pathways?hl=zh-cn&utm_source=csdn
Mobile开发专题
作为曾经的安卓开发者和手机爱好者,本人自然对 Mobile 开发专题有着浓厚的兴趣,想对此次 2023 Google 开发者大会分享的 Mobile 开发相关的技术一探究竟。
多终端应用的开发
首先专题提出将通过三方面来打造出色的移动端体验:
• 让我们聚焦如何适配多屏幕、多终端 Android 设备的生态系统;
• 将会和大家深入探讨多个系统功能,来帮助开发者打造高质量的应用程序;
• 会关注使用 Modern Android Development 提供的一系列开发工具库和指南来提高开发效率;
适配大屏
随着 Android 平台设备生态系统的蓬勃发展,用户处于多屏幕多终端的时代。针对大屏设备,无论是平板、各种形态的折叠屏手机,Google 发布了在 OS 上的几个重大更新。
Jetpack WindowManager 库可以帮助你针对大屏设备调整布局,更好的响应大屏设备独有的形态,比如可折叠设备的桌面模式。同时还会在Google Play商店中更明显的位置,向用户推荐这样的高质量应用,并展示他们在特定屏幕尺寸上的截图。
相对于没有针对大屏优化的版本,经过优化的版本在以下几个方面都有显著的进步,如图所示
视频流
在拥有可调整大小的模拟器的基础上,在 Android Studio 中增加了以视频流呈现实体设备的显示。
可穿戴设备
在 Wear OS4 开发者预览版中,提供了非常多的隐私保护、安全和电量的优化、以及新增了用户自定义的功能和新的表盘格式。作为开发者,我们只需专注于为用户打造优质的应用体验。
电视
Compose for TV 工具帮助开发者构建更优质的应用,包括顶部、侧边导航、精选轮播界面以及可滚动的容器,还支持电视特有的聚焦系统。
新的设计中心
设计中心为设备设计适合屏幕的应用,提供了适合大屏幕和穿戴设备的图库。无论是针对小屏幕还是大屏幕的开发,都可以依赖统一的常见的应用架构、UI 框架和同样的工具来重复利用这些组件,使开发者编写、修改和维护的代码量降到最低。
构建高质量的应用
什么是高质量的应用?大家的评判标准都差不太多。作为开发者,不管你是针对哪种设备形态,想要做出一款成功的应用,万变不离其宗的做法就是以用户为核心。什么是以用户为核心?添加新功能、提升稳定性、减少崩溃或者是提高易用性,它们最终将转化为更高的用户满意度和互动度。
以下将从高级相机和媒体功能、用户的安全和隐私、更精细的视觉体验三个方面来说一下平台的更新以及如何根据这些更新来构建高质量的应用。
高级相机和媒体功能
Android 13 增加了对录制清晰的 HDR 视频的支持,还加强了 CameraX Extensions,让手机设备制造商可以把夜间模式、焦外成像模式之类的高级相机功能提供给应用开发者。还增加了 Stream Use Cases ,让手机厂商能针对不同的用户使用场景,优化相机参数。
Android 14 在此基础上构建而成,增加了对10 比特的 HDR 图片的支持,在拍摄照片时就可以保留更多来自传感器的信息,使照片具有更鲜亮的色彩和更高的对比度。
Camera Extensions API 将原生相机特性和功能引入第三方应用,包括夜间模式、HDR、郊外成像、美颜、自动等功能。可以让用户在应用内也可以拍摄出高质量的照片。
Snapchat 已率先在应用中支持使用夜间模式直接拍摄,并将陆续拓展到更多设备。开发者是不是都希望能够尽早在应用中体验这些 Camera Extensions 的效果呢?看下图
用户的安全和隐私
Android 14 上支持的 Passkeys 通行密码是一种更新、更安全的身份验证形式,使应用和用户过渡到无需再记密码的时代。实现机制类似于生物检测识别技术,使用这种验证方式时,登录更快捷,有效提高用户登录率和登录成功率。
Health Connect 可以让应用采用统一的设备端仓库,来存储用户健康数据。这样用户就可以在一个地方集中查看自己的数据,配置隐私控制。Android 14 开始,Health Connect 会通过 Google Play 的系统更新下发到系统平台。
相比于传统的由应用自行获取并自行存储数据的方式,Health Connect 具有集成化数据和互动、集中管理隐私设置和访问权限、节省开发时间的优点。例如:可以存储50多种健康和健身数据,并对这些数据进行结构化处理,使其更加容易管理和分析。对不同数据类型的测量方式并针对常见的健康和健身场景提供多样化的数据。
更精细的视觉体验
Jetpack Compose 的更新:Compose for Android TV (Alpha 版本)、Glance(RC1)、水平和竖直方向的分页器、流式布局、新的 Material 3 组件、修饰符性能提升。
基于 Compose 打造的 WPS,代码简洁,更易维护;丰富的组件库,简化UI搭建;兼容现有的所有代码;开发效率至少提高了30%;使用 Compose 开发的需求,Bug数量能减少20%左右。
小结
看完 2023 Google 开发者大会的部分内容之后,我的内心久久不能平静。无论是开发工具的更新,还是创新的应用案例,Google 都给开发者们带来了惊喜的体验。从视频中传达出来的从将AI带入开发者的工作流中,到让大家更轻松的打造高性能的精美UI,再到让调试变得简单,这些都更有助于开发者们开发出更出色的应用。
无论我们是手机端优先的策略还是想要将现有的手机端应用扩展到其他的设备形态上,借助 Google 提供的实用开发工具,打造出高质量的产品应用都将变得更加简单。
的精美UI,再到让调试变得简单,这些都更有助于开发者们开发出更出色的应用。
无论我们是手机端优先的策略还是想要将现有的手机端应用扩展到其他的设备形态上,借助 Google 提供的实用开发工具,打造出高质量的产品应用都将变得更加简单。
相关文章:
2023 Google 开发者大会|Mobile开发专题追踪
文章目录 前言大会介绍涉及内容MobileWebAICloud Mobile开发专题多终端应用的开发适配大屏视频流可穿戴设备电视新的设计中心 构建高质量的应用高级相机和媒体功能用户的安全和隐私更精细的视觉体验 小结 前言 哈喽大家好,我是阿Q。近期,【2023 Google …...
最新版WPS 2023 加载Zotero方法
安装wps2019vba.exe,获取链接:链接:https://pan.baidu.com/s/1eeoc6Tmwyzxh3n1MFQTVeA 提取码:6431 –来自百度网盘超级会员V8的分享 打开WPS的工具的加载项 添加文件路径,我的在: C:\Users\Administrat…...
详解爬虫策略,反爬虫策略,反反爬爬虫策略
爬虫策略 爬取策略是网络爬虫在执行网页抓取任务时所遵循的规则或策略。这些策略决定了爬虫如何从一个页面转到另一个页面,什么时间进行抓取,以及应该抓取哪些内容。以下是几种常见的爬取策略: 深度优先搜索(DFS) 在…...
ES6中的Promise对象
1. Promise是什么 Promise简单来说就是一个容器,里面保存着未来才会结束的事件的结果(这个事件就是异步操作)。Promise是一个对象(构造函数),可以获取异步操作的结果。 特点: 对象的状态不受外…...
vue 知识点———— 生命周期
1.什么是生命周期 Vue实例从创建到销毁的过程,叫生命周期。 从开始创建、初始化数据、编译模版、挂载Dom-渲染、更新-渲染、销毁等过程。 2.生命周期一共有几个阶段 创建前/后, 载入前/后,更新前/后,销毁前/销毁后 3.初始化相关属性 beforeCreate(创建前…...
焊接符号学习
欧美焊接符号举例 4.5------表示焊点直径 【3】------根据图示说明,表示此项为CC项或者SC项 6-------表示此处为第六CC项或者SC项 BETWEEN①AND②------表示①件和②件俩点之间的焊点 12X------表示俩点之间的焊点个数为12个 日本焊接符号举例 A------根据图示&…...
记录linux清理空间的步骤
sudo du -sh /* 看整体空间占用情况 [roothost ~]# sudo du -sh /* 0 /bin 143M /boot 85M /data 0 /dev 38M /etc 4.0K /home 0 /lib 0 /lib64 16K /lostfound 4.0K /media 4.0K /mnt 31M /opt 0 /proc 260K /r…...
丰田工厂停产竟然因为磁盘...
丰田因磁盘空间不足关闭14家工厂 在如今的信息时代,无论是生活还是工作,我们都离不开计算机和网络。然而,令人惊讶的是,一家全球知名的汽车制造商——丰田,却因为磁盘空间不足的问题,被迫关闭了14家工厂。…...
Python工程师Java之路(p)Maven聚合和继承
文章目录 依赖管理依赖传递可选依赖和排除依赖 继承与聚合 依赖管理 指当前项目运行所需的jar,一个项目可以设置多个依赖 <!-- 设置当前项目所依赖的所有jar --> <dependencies><!-- 设置具体的依赖 --><dependency><!-- 依赖所属群组…...
Java 复习笔记 - Lambda 表达式 he 经典算法题
文章目录 Lambda表达式 概述(一)基本作用(二)特点 一,初识Java中的Lambda 表达式二,函数式编程三,省略写法四,练习:使用Lambda 表达式 简化Comparator接口的匿名形式综合…...
算法——快乐数
202. 快乐数 - 力扣(LeetCode) 由图可知,其实这也是一个判断循环的过程,要用到快慢指针,且相遇后,若在全为1的循环里,那么就是快乐数,若相遇后不为1,说明这不是快乐数。 …...
vue使用window.location.href 跳转失败
问题: vue项目中直接使用window.lcocation.href跳转外链,但是跳转的链接会被拼接成这样 http://localhost:8080/#/www.baidu.com 原因: 我们打开的外部链接会自动拼接我们的源地址,导致网址链接不正确,无法正常访问 …...
【备忘】清理Office缓存
【背景】电脑安装了M365 Apps for enterprise的客户端,遇到不常见的奇怪问题。尝试看清理缓存是否可以解决。 【清理步骤】 1. 关闭所有Office365 应用; 2. 搜索 %AppData% ,并打开该文件夹; 3. 进到 AppData > Local > M…...
MacOS环境变量source生效但重启后又失效
https://blog.csdn.net/dxk539687357/article/details/127942044 .bash_profile 和 .zshrc 都是macos系统重环境变量配置的文件,但是两者有不同之处。 .bash_profile:在执行source ~/.bash_profile,只在当前窗口生效,但关闭当前…...
Sql语句大全--插入
今天抽空整理下项目中的Sql语句 项目中用到的Sql语句大全 Insert 语句,有简有难 Insert 语句,有简有难 insert into clayor (pco,ppolnum,ptype,psn,prela,pname,pid,paddr1,paddr2,pbakcod1,pbakcod2,paccnum,pchkflag,pagtcod,pstatus, pchksts,pauth…...
Unity 收取“运行费”引众怒,开源免费3D游戏引擎CGE(Castle Game Engine)吸引开发者关注
特征 1. 总结2. 跨平台3. 可视化编辑器4.视口与场景,相机,导航和其他组件5. 数据格式 5.1. glTF5.2. X3D5.3. 精灵表5.4. 脊柱6. 图形效果7. 图片8. 用户界面组件 8.1. 文本和字体9. 网络10. 优化和分析11. 声音12. 物理13. 平铺集成14. 粒子15. 使用现代…...
Apache DolphinScheduler - 快速扩展 TaskPlugin 从入门到放弃
目前在大数据生态中,调度系统是不可或缺的一个重要组件。Apache DolphinScheduler 作为一个顶级的 Apache 项目,其稳定性和易用性也可以说是名列前茅的。而对于一个调度系统来说,能够支持的可调度的任务类型同样是一个非常重要的因素…...
线性代数的本质(四)——行列式
文章目录 行列式二阶行列式 n n n 阶行列式行列式的性质克拉默法则行列式的几何理解 行列式 二阶行列式 行列式引自对线性方程组的求解。考虑两个方程的二元线性方程组 { a 11 x 1 a 12 x 2 b 1 a 21 x 1 a 22 x 2 b 2 \begin{cases} a_{11}x_1a_{12}x_2b_1 \\ a_{21}x_…...
适合初学者快速入门的Numpy实战全集
适合初学者快速入门的Numpy实战全集 Numpy是一个用python实现的科学计算的扩展程序库,包括: 1、一个强大的N维数组对象Array;2、比较成熟的(广播)函数库;3、用于整合C/C和Fortran代码的工具包;…...
rabbitmq 面试题
1.交换机类型 RabbitMQ是一个开源的消息队列系统,它支持多种交换机类型,用于在消息的生产者和消费者之间路由和分发消息 Direct Exchange(直接交换机):Direct交换机是最简单的交换机类型之一。它将消息按照消息的Rout…...
比较Visual Studio Code中的文件
目录 一、比较两个文件 1.1VS code中的文件大致分为两类: 1.2如何比较VS code中的两个文件? 二、并排差异模式:VS code中的一种差异模式 三、内联差异模式:VS code中的另一种差异模式 四、VS code忽略在行首或者行尾添加或删除…...
誉天在线项目-UML状态图+泳道图
什么是UML UML(Unified Modeling Language)是一种用于软件系统建模的标准化语言。它提供了一组图形符号和规范,用于描述和设计软件系统的结构、行为和交互。 UML图形符号包括类图、用例图、时序图、活动图、组件图、部署图等,每…...
【linux基础(六)】Linux中的开发工具(中)--gcc/g++
💓博主CSDN主页:杭电码农-NEO💓 ⏩专栏分类:Linux从入门到开通⏪ 🚚代码仓库:NEO的学习日记🚚 🌹关注我🫵带你学更多操作系统知识 🔝🔝 Linux中的开发工具 1. 前言2.…...
u盘上面 安装 ubuntu 系统
u盘上面 安装 ubuntu 系统 下载 一个 Ubuntu 22.04.3 LTS 桌面版 https://ubuntu.com/download/desktop 找到一个U盘 参考文章: 把 Ubuntu 装到U盘里随身携带,并同时支持 BIOS 和 UEFI 启动 https://www.luogu.com.cn/blog/GGAutomaton/portable-ubu…...
【推荐】SpringMVC与JSON数据返回及异常处理机制的使用
🎬 艳艳耶✌️:个人主页 🔥 个人专栏 :《【推荐】Spring与Mybatis集成整合》 ⛺️ 生活的理想,为了不断更新自己 ! 1.JSON 在SpringMVC中,JSON数据返回通常是通过使用ResponseBody注解将Java对象转换为JSO…...
SpringBoot新增拦截器详解
目录 一、拦截器使用 二、SpringMvc拦截器接口 三、SpringBoot集成拦截器 拦截器(Interceptor)通常是指在软件开发中用于处理请求和响应的中间件组件。拦截器的主要目的是在请求进入某个处理流程或在响应返回给客户端之前执行一些额外的操作或逻辑。 …...
Golang开发--select
在Go语言中,select语句用于在多个通道操作中进行选择。select语句使得程序可以同时等待多个通道的操作,并在其中任意一个通道就绪时执行相应的操作。以下是select语句的详细描述: select { case <-ch1:// 当ch1通道可读时执行的操作 case…...
贝塞尔曲线的一些资料收集
一本免费的在线书籍,供你在非常需要了解如何处理贝塞尔相关的事情。 https://pomax.github.io/bezierinfo/zh-CN/index.html An algorithm to find bounding box of closed bezier curves? - Stack Overflow https://stackoverflow.com/questions/2587751/an-algo…...
计算机网络原理 运输层
一,运输层协议概述 1,进程之间的通信 从通信和信息处理的角度看,运输层向它上面的应用层提供通信服务,它属于面向通信部分的最高层,同时也是用户功能中的最底层。当网络边缘部分的两台主机使用网络核心部分的功能进行…...
【JavaEE】多线程案例-阻塞队列
1. 前言 阻塞队列(BlockingQueue)是一个支持两个附加操作的队列。这两个附加的操作是: 在队列为空时,获取元素的线程会等待队列变为非空当队列满时,存储元素的线程会等待队列可用 阻塞队列常用于生产者和消费者的场…...
济南网站推广服务/各大网站
一、Java NIO 基本介绍 Java NIO 全称 java non-blocking IO,是指 JDK 提供的新 API。从 JDK1.4 开始,Java 提供了一系列改进的输入/输出的新特性,被统称为 NIO(即 New IO),是同步非阻塞的 NIO 相关类都被放在 java.nio 包及子包…...
网站开发论文简要/环球网疫情最新消息
DSPc语言教程.doc电气专业词汇集散控制系统——Distributed Control System(DCS)现场总线控制系统——Fieldbus Control System(FCS)监控及数据采集系统——Supervisory Control And Data Acqusition(SCADA)可编程序控制器——Programmable Logic Controller(PLC) 可编程计算机…...
wordpress上传到哪个文件夹/免费生成短链接
在paint方法里面,这个Graphics类就相当于一支画笔。而且就画在那个component里面,比如frame。 看例子代码: import java.awt.*;public class TestPaint {public static void main(String[] args) {new PaintFrame();} }class PaintFrame exte…...
安徽池州网站制作/推广工具有哪些
1.将后台返回的JSON数据存入浏览器sessionStorage: sessionStorage.setItem(‘key’,JSON.stringify(value)); 2.从sessionStorage中取出数据 var data JSON.parse(sessionStorage.getItem(‘key’)); 如果直接存,后台console.log(json)出来的会变成[object&am…...
橡胶东莞网站建设技术支持/如何做好网站的推广工作
快速卷帘门钢制导轨安装步骤1.首先用水平尺和墨线在门洞两边划线定位;2.找到导轨在门洞上所对应的位置,做好标记并在相应的位置打孔,用膨胀螺栓打入固定点将侧板固定在垂直线上,水平线是侧板的最高处;3.用相同的方法安装另一边的钢制导轨。需…...
做内网网站/seo去哪里学
基于计算机视觉技术的入侵检测通过设计图像处理方法实现对某一动态场景的实时观测,并在场景存在外来入侵情况时向上层管理系统发送入侵检测结果;要求独立编写具有以下功能模块的程序源码, 1. 通过手机/个人笔记本内置摄像机连续…...