不知不觉,2020 年也已接近尾声,今年虽然困难重重,但是 Android 社区的更新热情却并未消减 ,Google I/O 大会取消的同时,官方也为我们提供了一系列优质的节目:Now In Android[1] 、Kotlin Vocabulary[2]、11 Weeks of Android[3]。本篇文章就带大家看一看今年以来,Android 相关最新的动态,尝鲜我们今后可以使用的功能。

Android 11

Android 11[4] 于今年 9 月 9 日发行正式发布,随之而来的是一系列全新的功能和特性,苹果看了直呼眼馋:

  • 支持 5G[5]

  • 聊天气泡和对话框更新 [6]

  • 适配水滴屏和折叠屏 [7]

  • 隐私协议更新 [8]

Android 11 后,带有相关快捷方式的通知可以从聊天的通知栏中直接启动气泡。

从通知栏中作为气泡启动通知

Android 11 为新设备传感器提供了 TYPE_HINGE_ANGLESensorEvent 来监视屏幕角度的变化,帮助我们做适配工作。

折叠屏幕状态改变
Android 可折叠设备

开发者也可以使用 Jetpack 的  Window Manager[9],调用 DeviceStage.getPosture() 获取当前设备的折叠状态,详情请看 Building apps for foldables[10]

API 更新

Android 11 也带来了它的小老弟  Android SDK Version 30[11],也更新了 Google Play 目标 API 要求 [12]

从今年 8 月开始,Google Play 将只接受 Android 10(API 29)版本以上的应用,从 2020 年 11 月开始,所有应用必须针对  Android 10 进行应用更新。

API 级别开始日期
Android 8.0(API 级别 26)2018 年 8 月 1 日:新应用必须符合 2018 年 11 月 1 日:应用更新必须符合
Android 9(API 级别 28)2019 年 8 月 1 日:新应用必须符合 2019 年 11 月 1 日:应用更新必须符合
Android 10(API 级别 29)*2020 年 8 月 3 日:新应用必须符合 2020 年 11 月 2 日:应用更新必须符合

如果你的应用还没有升级到 Android 10,现在是时候阅读 Android 10 迁移指南 [13],确保应用可以正常更新了。

Android Studio 4.0

今年,Google 也在 Android Studio 上投入了很大精力,先后发布了两款 Android Studio 4.0 [14] 稳定版本:4.1[15] 和 4.2[16]

4.0 版本包含了很多我们期待已久的功能,如下:

  • 改进了对 Kotlin DSL 脚本文件的支持 [17]

  • 动态编辑器(Motion Editor)[18]

  • 构建分析器(Build analyzer)[19]

  • Kotlin 版的 Android Live 模板 [20]

动态编辑器(Motion Editor)
检查 build 过程中最耗时的任务

了解更多 Android Studio 的最新功能 [21]

Android Jetpack

在国内,Android Jetpack 的发展趋势也已经势如破竹了,对于开发者而言,这是好消息也是坏消息,因为有了更好用的工具和开发库后,我们也已经学不动了,但相比逐步深入学习,了解他们各自的作用显然更加重要。

Android Jetpack 的今年的更新主要包括:

  • Jetpack Compose[22] ,8 月底发布了 Compose 首个 Jetpack Compose alpha 版本 [23],目标就是对 Android UI 的构建方式进行彻底改革,Android 开发者也会引来全新的面貌。作为用于构建用户界面的 Kotlin 首次声明式 api,Jetpack Compose 更是朝着现代应用开发迈出的令人振奋的一步。要了解有关 Jetpack Compose 的更多内容,可以访问 入门指南 [24]。需要注意的是,尽管 Jetpack Compose 在飞速发展中,但当前依然不稳定,也还不足以投入生产环境。

  • ConstraintLayout 2.0.0 正式发布,并且 10 月份也发布了最新的 ConstraintLayout 2.0.2 版本 [25]

  • WorkManager 2.4.0[26] 开始支持 RxJava3 以及许多其他特性。

  • Navigation 2.3[27],增加了新的功能模块和测试组件。

Kotlin

Kotlin 生态在 2020 年也发生了翻天覆地的变化。今年,Kotlin 也迎来了最新里程碑式的版本 kotlin1.4[28],此版本包括许多新特性:

  • 支持尾部逗号 [29]

    fun reformat(
        str: String,
        uppercaseFirstLetter: Boolean = true,
        wordSeparator: Character = ' ', // 尾部逗号
    ) {
        // ...
    }
    
  • Kotlin interfaces SAM (Single Abstract Method) [30]

    fun interface IntPredicate {
        fun accept(i: Int): Boolean
    }
    
    val isEven = IntPredicate { it % 2 == 0 }
    
    fun main() { 
        println("Is 7 even? - ${isEven.accept(7)}")
    }
    
  • 协程调试器 [31]

    Debugging coroutines
  • Kotlin 多平台开发( Kotlin Multiplatform)[32]

提到 Kotlin Multiplatform,官方也专门在 Kotlin Multiplatform Mobile[33] 上做了很大的改动,提供了 Android 和 iOS 的 Kotlin Multiplatform, 点击查看 Kotlin Multiplatform 文档,样例,以及其它特性 [34],学习如何使用 kotlin 构建 Android、iOS 应用。

Ktor[35],Jetbrains 使用 Kotlin 构建异步客户端 / 服务器应用程序的框架,ktor 最新文档和示例 [36] 也在今年发布,这也将大大简化我们编写 Ktor 应用程序的方式。

相关资源链接滑到「参考资料」,也欢迎大家参与讨论和我一起交流。

参考资料

[1]

Now In Android: https://developer.android.com/series/now-in-android

[2]

Kotlin Vocabulary: https://www.youtube.com/playlist?list=PLWz5rJ2EKKc_T0fSZc9obnmnWcjvmJdw_

[3]

11 Weeks of Android: https://developer.android.com/11weeksofandroid

[4]

Android 11: https://developer.android.com/about/versions/11

[5]

支持 5G: https://developer.android.com/about/versions/11/features/5g

[6]

聊天气泡和对话框更新: https://developer.android.com/guide/topics/ui/conversations

[7]

适配水滴屏和折叠屏 : https://developer.android.com/about/versions/11/features#screens

[8]

隐私协议更新: https://developer.android.com/about/versions/11/privacy

[9]

Window Manager: https://developer.android.com/jetpack/androidx/releases/window

[10]

Building apps for foldables: https://developer.android.com/guide/topics/ui/foldables#hinge_angle

[11]

Android SDK Version 30: https://developer.android.com/studio/releases/platforms#11

[12]

Google Play 目标 API 要求: https://support.google.com/googleplay/android-developer/answer/113469#targetsdk

[13]

Android 10 迁移指南: https://developer.android.com/about/versions/10/migration

[14]

Android Studio 4.0 : https://android-developers.googleblog.com/2020/05/android-studio-4.html

[15]

4.1: https://developer.android.com/studio/preview/features#4.1

[16]

4.2: https://developer.android.com/studio/preview/features#4.2

[17]

改进了对 Kotlin DSL 脚本文件的支持: https://developer.android.com/studio/releases#4-0-0-kts

[18]

动态编辑器(Motion Editor): https://developer.android.com/studio/releases#4-0-0-motion-editor

[19]

构建分析器(Build analyzer): https://developer.android.com/studio/releases#4-0-0-build-analyzer

[20]

Kotlin 版的 Android Live 模板: https://developer.android.com/studio/releases#4-0-0-live-templates

[21]

了解更多 Android Studio 的最新功能: https://developer.android.com/studio

[22]

Jetpack Compose: https://developer.android.com/jetpack/compose

[23]

Jetpack Compose alpha 版本: https://android-developers.googleblog.com/2020/08/announcing-jetpack-compose-alpha.html

[24]

入门指南: https://developer.android.com/jetpack/compose/tutorial

[25]

ConstraintLayout 2.0.2 版本: https://developer.android.com/jetpack/androidx/releases/constraintlayout#2.0.2

[26]

WorkManager 2.4.0: https://developer.android.com/jetpack/androidx/releases/work#2.4.0

[27]

Navigation 2.3: https://developer.android.com/jetpack/androidx/releases/navigation#2.3.0

[28]

kotlin1.4: https://kotlinlang.org/docs/reference/whatsnew14.html

[29]

支持尾部逗号: https://kotlinlang.org/docs/reference/whatsnew14.html#trailing-comma

[30]

Kotlin interfaces SAM (Single Abstract Method) : https://kotlinlang.org/docs/reference/whatsnew14.html#sam-conversions-for-kotlin-interfaces

[31]

协程调试器: https://kotlinlang.org/docs/reference/whatsnew14.html#coroutine-debugger

[32]

Kotlin 多平台开发( Kotlin Multiplatform): https://kotlinlang.org/docs/reference/whatsnew14.html#kotlin-multiplatform

[33]

Kotlin Multiplatform Mobile: https://kotlinlang.org/lp/mobile/

[34]

点击查看 Kotlin Multiplatform 文档,样例,以及其它特性: https://kotlinlang.org/docs/mobile/getting-started.html

[35]

Ktor: https://ktor.io/

[36]

ktor 最新文档和示例: https://ktor.io/learn/

Logo

瓜分20万奖金 获得内推名额 丰厚实物奖励 易参与易上手

更多推荐