Google I/O 2021 Android精华内容
Google I/O 2021结束了, 都有什么精彩内容呢?
Android部分的Playlist附上: Android & Play at Google I/O 2021
Developer Keynote (Google I/O '21)
对于Android的部分来说, 主要是:
Android 12
- user safety.
- performance; improved app startup; customizable launch animations.
- user experience; widgets.
Create beautiful apps, easier
现代化的Android开发.
- Android Studio的升级.
- Kotlin: Kotlin Symbol Processing.
- Jetpack: 各种libraries和Compose.
Build across screens.
- 各种屏幕.
- Voice.
- Watches: Health services.
The top 3 things to know in Modern Android Development | Android @ Google I/O'21
Android开发的三个top topic:
- Jetpack: 一系列的Jetpack libraries发布了新版.
- Tooling: Android Studio的升级, 有了WorkManager Inspector, UI的Inspector支持了View和Compose.
- Kotlin.
What's new in Android | Keynote
Android 12 -> S.
@Deprecated-> deprecated.- Color.
- Widgets.
- Launch animations: 系统自带启动动画, 可以定制.
- Notifications: 新的template style;
Trampoline(?) 优化点开notification的那个短暂延迟. - Toasts: 带icon, 说明是哪个app弹的toasts; 控制个数.
- Picture in Picture的改善.
- ImageView有个setRenderEffect可以模糊照片了.
- 可以用theme定制模糊.
- list的弹力拉伸效果. (我自己起的名字, 其实人家叫stretch overscroll).
- Graphics: AVIF. 可以过滤支持的media类型.
- Privacy: 关于permission的一些改进; 剪贴板内容会有toast说明来源; foreground restrictions.
What’s new in Android development tools | Session
Android Studio版本号设计.
- Preview工具可以设置横屏, 定制尺寸, 显示blueprints, play animation. Compose的preview有交互模式.
- Accessibility test framework scanner.
- 适配多种屏幕: Layout validation.
- 折叠屏, 手表.
- 模拟器还可以模拟heart rate.
- snapshots test.
- WorkManager的tasks.
- Migrate to Non-Transitive R Classes...
What’s new in Jetpack | Session
解释了Jetpack的初衷和现状.
alpha和beta版本的意思.
- Experimental Annotations -> Stable.
- CameraX -> Stable.
- AppSearch -> Alpha.
- DataStore -> 用来取代SharedPreferences.
- Security Crypto -> Stable.
- Hilt -> Stable.
- WorkManager -> Stable. (Android Studio也推出了新的WorkManager Inspector.)
- Room -> Stable.
- ConstraintLayout -> Stable. MotionLayout + Motion Editor.
- Fragment -> Stable.
(详见release notes: https://developer.android.com/jetpack/androidx/releases/fragment.)
重建了FragmentManager; 新增了get result的callback; 废弃了一些API, 并且Fragment StrictMode可以检测项目中是否还在使用. - Navigation -> Alpha. 现在支持多个backstacks.
- Google Shortcuts -> Alpha.
- EmojiCompat -> Alpha. (AppCompat 1.4.0以后默认包含.)
- Paging -> Stable.
- Macrobenchmark -> Alpha. (app启动和滚动效率; local/CI.)
- Compose integrations.
What's new in Jetpack Compose | Session
为什么我们需要一个全新的UI Toolkit呢. -> 为了适应更加现代化的开发方式.
faster & easier.
Compose将数据转换成UI.
Checkbox的例子:
UI完全由参数控制. -> single source of truth. 没有其他的状态需要sync.
把参数和回调提到方法参数中去:
- You completely describe your UI for a given state.
- The framework updates your UI when the state changes.
这里有个图, 推荐ViewModel暴露一个Screen状态, 集中管理, 然后下发到每个composable.
这样也利于测试.
Compose实现了material design, 提供了组件, 还有theming system.
有一个owl app的实现解说.
和传统view的interop.
State of Kotlin on Android | Session
- Kotlin变得越来越流行, 不仅app, 还有server.
- Kotlin Symbol Processing目前发布了alpha.
- 编译器的升级.
- 好多好多的ktx库.
- protobuf的支持: https://developers.google.com/protocol-buffers/docs/kotlintutorial
- coroutines的debugger -> coming soon. 可以在线程之间跳转, 查看信息.
What’s new in Android Gradle plugin | Session
New APIs in the Android Gradle Plugin
Using Jetpack libraries in Compose | Session
Jetpack Compose和Jetpack中其他库可以很好的结合使用.
Top 12 tips to get ready for Android 12 | Session
Getting Ready for Android 12.
- Developer Options -> App Compatibility Changes.
- Foreground services were designed for multi-tasking and completing a user action. -> 从后台启动foreground services将被限制.
- Expedited Jobs with WorkManager APIs.
- User may turn off the mic and camera sensors using mic and camera toggles.
- Apps that have not been used for an extended period will be hibernated. (permissions, storage, services)
- Nearby device permission. Decouple Bluetooth scanning from Location.
- MAC address restriction.
- Safe component exporting. 有intent filter就必须显式声明exported.
- Custom notifications deprecation.
- App link improvements.
- WebView Samesite.
- New stretch overscroll.
Google I/O 2021 Android精华内容的更多相关文章
- Android - 分享内容 - 接收其他APP的内容
就象程序可以发送数据给其他程序,所以也可以接收其他程序的数据.想一下用户如何和程序交互,以及想从其他程序接收什么样类型的数据.例如,一个社交程序可能对接收其他程序的文字(比如有趣的网址)感兴趣.Goo ...
- Google 地图 API for Android
原文:Introduction to Google Maps API for Android 作者:Eunice Obugyei 译者:kmyhy 从健康类 app Runkeeper 到游戏 app ...
- Android Google 地图 API for Android
从健康类 app Runkeeper 到游戏 app 精灵宝可梦,位置服务对现代 app 来说越来越重要. 在本文中,我们将创建一个 app,名字就叫做 City Guide.这个 app 允许用户搜 ...
- 一培训机构设计的学习android课程内容:供大家参考
转自:http://www.cnblogs.com/csj007523/archive/2011/06/16/2082682.html 一培训机构设计的学习android课程内容:供大家参考 第一阶段 ...
- 如何使用Google Map API开发Android地图应用
两年前开发过的GoogleMap已经大变样,最近有项目要用到GoogleMap,重新来配置Android GoogleMap开发环境,还真是踩了不少坑. 一.下载Android SDK Manager ...
- 【风马一族_Android】Android 前端内容1
Android 前端内容 4.1 View 类概述 4.1.1 关于 View //类型说明 view(视图)指的是用户界面组件的基本构建基块.一个视图占据屏幕上的矩形区域,负责绘图和事件处理.视图是 ...
- 【风马一族_Android】Android 前端内容
Android 前端内容 4.1 View 类概述 4.1.1 关于 View //类型说明 view(视图)指的是用户界面组件的基本构建基块.一个视图占据屏幕上的矩形区域,负责绘图和事件处理.视图是 ...
- android RelativeLayout 内容居中解决办法
android RelativeLayout 内容居中解决办法: 使用Linearlayout本来利用父控件的gravity属性是很好解决的.但是对应RelativeLayout虽然有 gravi ...
- Google用户登录界面 Android实现
实验效果: 项目目录: Java代码(放在Src文件下) package com.bn.chap9.login; import java.io.BufferedReader; import java. ...
随机推荐
- Linux执行.sh文件,提示No such file or directory的问题
问题描述 在window平台下,写好shell脚本文件,迁移到linux平台,赋过可执行权限,执行该sh文件,却提示NO such file or directory 解决方案 难道是文件格式兼容性问 ...
- Google字体API使用简单示例
一.前面的话 Google总会做些造福大众的事情,例如提供了web在线字体的API,这玩意其实去年就有了,但是字体种类手指头+脚趾头就可以数出来.but 最近,貌似Google对字体API进行了升级, ...
- 【CPU100%排查】CPU100%问题排查方案
1.使用top -c 查看CPU 占用情况 ,按P(大写)可以倒序查看占CPU占用率 2.找到占用率高的进程以后,再定位到具体线程 比如 此时进程ID 14724 CPU占用高,进一步使用top - ...
- hdu1251 hash或者字典树
题意: 统计难题 Problem Description Ignatius最近遇到一个难题,老师交给他很多单词(只有小写字母组成,不会有重复的单词出现),现在老师要他统计出以某个字符串为前缀的单词数量 ...
- Average Score39届亚洲赛牡丹江站A题
题意: A班有n个人,B班有m个人,然后现在给你n-1个A班人的成绩,和m个B班人的成绩,然后题目要求求出A班剩下的没给成绩那个人的成绩范围,要求是这个人从A班转到B班后能使A,B的平均分 ...
- android dalvik浅析一:解释器及其执行
dalvik是android中使用的虚拟机,基于寄存器,分析基于android4.2源代码.本篇主要分析的是dalvik中的解释器部分,源码位于/dalvik/vm,主要代码在interp和mterp ...
- CTFHub-技能树-信息泄露
CTFHub-技能树-信息泄露 1.目录遍历 文件夹不多,直接手翻就行 2.PHPinfo 直接搜索ctfhub{就能找到 3.备份文件下载 3-1 网站源码 打开之后: 因为这里组合比较少可以手动测 ...
- (8)MySQL进阶篇SQL优化(InnoDB锁-共享锁、排他锁与意向锁)
1.锁的分类 锁(Locking)是数据库在并发访问时保证数据一致性和完整性的主要机制.之前MyISAM锁章节已经讲过锁分类,而InnoDB锁按照粒度分为锁定整个表的表级锁(table-level l ...
- Openstack 虚拟机宽带限速
修改Neutron配置文件,使其支持Qos 修改Neutron.conf service_plugins = neutron.services.qos.qos_plugin.QoSPlugin 修改p ...
- Could not contact [localhost:8005]. Tomcat may not be running.
出错环境介绍: Tomcat-version:8.5.56 JDK-version:1.8.0_152 Linux:CentOS-7 错误信息 sh /opt/apache-tomcat-8.5.56 ...