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

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精华内容的更多相关文章

  1. Android - 分享内容 - 接收其他APP的内容

    就象程序可以发送数据给其他程序,所以也可以接收其他程序的数据.想一下用户如何和程序交互,以及想从其他程序接收什么样类型的数据.例如,一个社交程序可能对接收其他程序的文字(比如有趣的网址)感兴趣.Goo ...

  2. Google 地图 API for Android

    原文:Introduction to Google Maps API for Android 作者:Eunice Obugyei 译者:kmyhy 从健康类 app Runkeeper 到游戏 app ...

  3. Android Google 地图 API for Android

    从健康类 app Runkeeper 到游戏 app 精灵宝可梦,位置服务对现代 app 来说越来越重要. 在本文中,我们将创建一个 app,名字就叫做 City Guide.这个 app 允许用户搜 ...

  4. 一培训机构设计的学习android课程内容:供大家参考

    转自:http://www.cnblogs.com/csj007523/archive/2011/06/16/2082682.html 一培训机构设计的学习android课程内容:供大家参考 第一阶段 ...

  5. 如何使用Google Map API开发Android地图应用

    两年前开发过的GoogleMap已经大变样,最近有项目要用到GoogleMap,重新来配置Android GoogleMap开发环境,还真是踩了不少坑. 一.下载Android SDK Manager ...

  6. 【风马一族_Android】Android 前端内容1

    Android 前端内容 4.1 View 类概述 4.1.1 关于 View //类型说明 view(视图)指的是用户界面组件的基本构建基块.一个视图占据屏幕上的矩形区域,负责绘图和事件处理.视图是 ...

  7. 【风马一族_Android】Android 前端内容

    Android 前端内容 4.1 View 类概述 4.1.1 关于 View //类型说明 view(视图)指的是用户界面组件的基本构建基块.一个视图占据屏幕上的矩形区域,负责绘图和事件处理.视图是 ...

  8. android RelativeLayout 内容居中解决办法

    android RelativeLayout 内容居中解决办法:   使用Linearlayout本来利用父控件的gravity属性是很好解决的.但是对应RelativeLayout虽然有 gravi ...

  9. Google用户登录界面 Android实现

    实验效果: 项目目录: Java代码(放在Src文件下) package com.bn.chap9.login; import java.io.BufferedReader; import java. ...

随机推荐

  1. 《Effective C++》部分内容学习笔记整理

    简介 此笔记为<Effective C++>中部分内容的学习笔记. 目录 文档:<Effective C++>

  2. SpringBoot中的自动代码生成 - 基于Mybatis-Plus

    作者:汤圆 个人博客:javalover.cc 前言 大家好啊,我是汤圆,今天给大家带来的是<SpringBoot中的自动代码生成 - 基于Mybatis-Plus>,希望对大家有帮助,谢 ...

  3. 爬虫框架-scrapy的使用

    Scrapy Scrapy是纯python实现的一个为了爬取网站数据.提取结构性数据而编写的应用框架. Scrapy使用了Twisted异步网络框架来处理网络通讯,可以加快我们的下载速度,并且包含了各 ...

  4. 大数翻倍法求解CRT

    目录 正文 引入 大数翻倍法 复杂度证明 大数翻倍法的优势 最后的最后:上代码! 注:做法和思路是 zhx 在一次讲课中提出的,如有侵权,请联系作者删除 其实别的题解也有提到过暴力做法,但这里将会给出 ...

  5. qta自动化

    qta框架采用PO(page object)模式,即页面结构层和逻辑对象层,如图的用例结构:我们将页面结构放到lib层,将执行用例层放到test层,区分开方便维护:

  6. top:0;bottom:0;left:0;right:0;同时使用的效果

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  7. JS笔记(二)

    1.完整的JavaScript由核心(ECMAScipt).文档对象模型(DOM).浏览器对象模型(BOM)组成. 2.<script>标签的用法:引用位置.src.async.defer ...

  8. Windows API初练手 -- 疯狂写文件代码

    警告:恶作剧软件,慎用!仅供初学者研究代码所用!!! 提示:默认文件创建目录在"D:\test",如果需要使用的话请自行更改目录. 1. Windows API 版本 (调用系统函 ...

  9. LA3644简单并查集判环

    题意:       有n个化合物,每个化合物是两种元素组成,现在要装车,但是一旦车上的化合物中的某几个化合物组成这样一组关系,有n个化合物正好用了n中元素,那么就会爆炸,输入的顺序是装车的顺序,对于每 ...

  10. 【python】Leetcode每日一题-颠倒二进制位

    [python]Leetcode每日一题-颠倒二进制位 [题目描述] 颠倒给定的 32 位无符号整数的二进制位. 示例1: 输入: 00000010100101000001111010011100 输 ...