欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Android 11 适配、变动、以及 新的能力

程序员文章站 2022-06-08 12:13:59
...

Android 11 适配、变动、以及 新的能力

适配

1、文件存储分区

好好管理你应用文件夹,别再乱用了

AndroidQ文件存储适配

Android Q(10) 文件存储适配

AndroidQ(10)分区存储完美适配

android10以上 uri转file

2、Android 10 还没适配的要抓紧啦~

关于Android 10.0适配,看这篇就够了

官网地址 文件分区

官方文档中也说明了,想要操作公共目录,使用 ContentResolver去进行一切 增删改查

变动

1、AsyncTask 的废弃

在 Android 11 中 AsyncTask 已经被废弃。

AsyncTask 可以说是伴随了众多 Android 开发者的成长,AsyncTask 是在 Android 1.5 中被引入的,现在却从 Android 11 当中废弃了。为什么在最新的 Android 11 将 AsyncTask 这个类废弃了?这是因为在 Android 11 中,有了一种更加方便的异步任务处理方式,也就是我们今天要介绍的主题 Kotlin 协程。

2、Kotlin 协程

Kotlin 协程已经成为了谷歌官方推荐的异步任务处理方式。协程的英文单词是 Coroutines,Coroutines 这个单词实际上是一个组合单词,它是由 Co + routines 组合而成的。Co 在这里指的是 cooperation (协作),routines 在英文当中表达的意思是叫例行日程。利用协作的方式去帮助我们完成例行日程,就是协程的含义。

当把 routines 映射到编程语言当中时,就可以理解为编程语言中的函数。可以将它理解成是一种协作式的函数调用模型。以上就是协程比较广义的概念,不过协程不是 Kotlin 独有的,很多编程语言上都会有协程,在不同的编程语言上,协程的实现都有所差异。

What`s new in Android 新的能力

1 、Window Insets-布局的监听器

Android 11 适配、变动、以及 新的能力

在Android 11 版本里面增加了新的WindowInsets回调函数setWindowInsetsAnimatorCallback,使用该回调函数可以更方便的处理WindowInset不同的状态。

我们来看一下 WindowInsets 常用场景
(1) 给WindowInsets设置监听,检测键盘的可见性。可以方便的根据软键盘状态调整布局文件里面的内容
// 从 listener 获取 WinddowInsets 类
view.setOnApplyWindowInsetsListener{view,insets->
    
}
(2) 监听键盘动画事件

Android 11 适配、变动、以及 新的能力

(3) 主动触发键盘动画

Android 11 适配、变动、以及 新的能力

Sample链接地址:

https://github.com/android/user-interface-samples/tree/master/WindowInsetsAnimation


2、聊天 Notification

Android 11 适配、变动、以及 新的能力

这是如何实现的呢,我们来看一下代码。

Android 11 适配、变动、以及 新的能力

Android 11 适配、变动、以及 新的能力

Android 11 适配、变动、以及 新的能力

Bubbles

类似(微信的公众号的)悬浮功能

Android 11 适配、变动、以及 新的能力

Android 11 适配、变动、以及 新的能力

Bubble其实是一个基于notification的API做的扩展,他能在系统的任何一个界面被开启。

如果你是做一个聊天的软件的话,怎么样把你的聊天的互动变成一个Bubbles呢?我们来看几行代码。

第一步,首先你在manifest中声明一个Activity,用户点了bubbles以后会开启这个Activity

Android 11 适配、变动、以及 新的能力

第二步,添加启动Activity代码

Android 11 适配、变动、以及 新的能力

第三步,在Notification中添加BubbleMetadata

Android 11 适配、变动、以及 新的能力

最后,创建和Metadata绑定的Notification

Android 11 适配、变动、以及 新的能力

Sample链接地址:

https://github.com/android/user-interface-samples/tree/master/People


3、隐私

隐私是Android 11的其中一个重点,Android 11 给用户带来了更佳的数据保护,主要体现在5个方面

e-samples/tree/master/People


3、隐私

隐私是Android 11的其中一个重点,Android 11 给用户带来了更佳的数据保护,主要体现在5个方面

Android 11 适配、变动、以及 新的能力

其中对于 我们 android 开发来说,影响最大的也就是是 【分区存储】了,还没有适配的 小伙伴 要抓紧了哦~~