Now in Android:12 你知道 Emoji 是怎么来的吗?

1,864 阅读6分钟

Hello 各位同学好呀,我是 wanbo,今天我们继续更新 Now in Android 第十二期的内容。

Now in Android 是由 Chet Haase 在 Medium 上发布的一系列关于 Android 相关技术的文章,创办这个系列的目的是为了,帮助广大开发者可以更好的掌握 Android 的最新技术动态,最近 Android Team 重新设计了新系列的 **Now in Android 。**全新的 Now in Android 目前将会整合所有 Android 开发者需要掌握和学习的最新内容,以视频和文章的形式为大家统一介绍,并在文章中会附上相应技术的官方链接地址,帮助大家了解详细内容。

我也会结合自己的理解,在本公众号【Android|Kotlin】中为大家同步更新 Now in Android 的最新内容,感兴趣的同学记得关注订阅呀。

为什么是第十二期?

明明上周才更新到第二期,怎么这周就变成第十二期了呢?

在这里插入图片描述
正如前面所说,Now in Android 是由 Chet Haase 在 Medium 上发布的一系列关于 Android 相关技术的文章,在 Android Team 重新设计 Now in Android 之前,Chet Haase 从 19 年的 8 月份就开始陆续在 Medium 已 Now in Android 为标题发布文章了,共计 9 篇文章,为了不产生歧义,所以决定延续之前的编号,依此类推的话,上周的第一期其实是第十期,第二期是第十一期,今天我们推送的文章为第十二期。

同时由于之前的文章发布时间太久了,已经不具有时效性,大部分都是我们已经知道的东西,所以这里就不会为大家介绍之前的内容,感兴趣的同学可以在以下地址中查看:

medium.com/tag/now-in-…

AndroidX 更新

下面是截止 2 月 5 日,Android X 的更新记录

正式版本

Fragment 更新 1.21 版本,Media2 更新 1.0.2 版本,Navigation 更新 2.2.1,WorkManager 更新 2.3.1,ViewModel-SavedState 版本号升级到了 2.2.0,功能上与 1.0.0 完全一致,只是为了和 Lifecycle 的相关库保持版本号一致,这几个库,我看了一下,都是 bug 修复,没有新的 featurn 增加,实在没有什么好介绍的,具体修复了什么 bug 大家可以在以下地址查看:

developer.android.com/jetpack/and…

AndroidX Core 更新 1.2.0 版本:在 NotificationCompat、BlendMode、ShortcutInfo、WindowInsets 这些类中引入了新的 API ,同样在更新日志中也没有提到具体是新增了哪些方法,只有文字说明,也没有相关具体文档的跳转链接,看来也都是些不起眼的小更新,或者是在为以后大的 feature 做铺垫吧。

Alpha 版本

Emoji 更新 1.1.0-alpha01 版本,新增了 unicode.org 在其 v12 以及 v12.1 中最新发布的几个新的 Emoji。

在这里插入图片描述
关于 Emoji 的是如何来的,这里为大家做一个小小的介绍。无论我们使用的是 Android 还是 iOS,PC 还是 Mac,只要在互联网的世界中,我们所见的 Emoji 都是由 unicode.org 这个组织同一发布的,他们会定期征询公众的建议,将新的 Emoji 添加到标准中,就像上图一样,为新增加的 Emoji 制定编码、名称、关键字等。然后它们就可以以同一的符号在互联网世界中的不同设备中使用。

在这里插入图片描述
上图是官方发布的各式 Emoji 的使用频率,其中 😂和 ❤️位列 T0 梯队,果然全世界的人对 Emoji 的喜好都是一样的,不得不说,前 4 排都是我日常使用频率最高的 Emoji。

如果你有特别喜欢的 Emoji 怎么办?买它!

在这里插入图片描述
unicode.org 官网支持 Emoji 收养,你可以收养任何一个自己喜欢的 Emoji,价格分为 5000 刀、1000 刀和 100 刀,一次付款永久收养,unicode.org 在它们的官网上会公布收养者的名字,先到先得。

说完 Emoji,Navigation 更新了 2.3.0-alpha01 版本,Navigation 是 JetPack 中的导航组件,可以用于 Activity 和 Fragment。在此次 alpha 版本中,增加了对 Dynamic Feature Modules 的支持,如果你对

Dynamic Feature Modules 不熟悉的话,我这里做一个简单的介绍。

首先我们要了解 Android App Bundle,Android App Bundle 是一种区别于 APK 的全新打包格式,不过它目前只适用于 Google Play 的应用上传。

在这里插入图片描述
如上图所示,Android App Bundle 会将我们的应用分为,Base Modules 和 Dynamic Feature Modules,Base Modules 就是所有用户都需要的模块和资源,Dynamic Feature Modules 可以理解为一个不需要用户初次立即安装的独立部分,这样开发者就可以通过 Play Core Library 的 API 在需要的时候,为用户动态安装特定的模块。

Navigation 2.3.0-alpha01 中内置了通过 Play Core Library 操作 API 的逻辑,当你需要导航的页面是一个 Dynamic Feature Modules 的时候,Navigation 实现自动下载安装的细节。

当然这个库还属于 alpha 版本,所有的 API 和功能都是不确定的,喜欢尝鲜的同学可以试一试。

文档地址如下:

developer.android.com/jetpack/and…

文章推荐:Zero-cost* abstractions in Kotlin

在这里插入图片描述
Florina Muntenescu 这一期的 Koltin 关键字为我们带来了 Inline classes 的介绍,内联类可以为变量提供增强的类型安全性,避免在运行时发生类型错误的问题,内联类的构造方法只允许有一个参数,这样的目的是,在编译期间,并不会产生真正的类对象,而是将这个内联类转化成那个唯一的参数对象,大大减少类开销。

在这篇文章中,Florina Muntenescu 为大家介绍了使用 Inline classes 的好处、该如何正确的使用 Inline classes 以及如何在 Java 中使用,具体内容请查看以下地址的文章:

medium.com/androiddeve…

文章推荐:Android Styling: Themes vs Styles

在这里插入图片描述
theme 和 style 的用法、表现形式非常相似,有很多开发者常常使用错误,这里推荐 Nick Butcher 的系列文章 Android Styling,他为我们详细讲述了 Theme 和 Style 区别,二者的使用场景和用法。这个系列目前更新了 4 篇文章,有感兴趣的同学可以在以下地址查看详情:

medium.com/@crafty

ADB Podcast 推荐

在这里插入图片描述
ADB 第 132 期,请来了 Jetpack Team 的 Yigit Boyar 和 Dropbox 团队的 Mike Nakhimovich,这一期的主题叫做《Storing data with Store》,Store 是一个由 Dropbox 团队开发的用于处理 UI 与数据之间关系的中间层框架。

在 Android 官方的应用架构指南中,官方推荐使用 Repository 来封装数据的处理,由 Repository 为 UI 提供同一的数据接口,Store 则是 Repository 的升级版,采用 Kotlin 协程实现,内置了很多丰富的 API ,例如数据状态的处理、数据库增删改查对应关系的映射等等,如果你的项目中已经在使用

Repository 来处理数据,那么推荐你了解一下 Store,一个功能完善且强大的 Repository。

Podcast 地址:

androidbackstage.blogspot.com/2020/02/epi…

Store GitHub 地址:

github.com/dropbox/sto…

最后

至此,就是全新的 Now in Android : 12 的内容,这一期为大家介绍了 AndroidX 最新发布的正式库,以及两个 alpha 版本的库 Emoji 和 Navigation ,以及一篇有关 Kotlin 内联类的文章和一个有关探讨 Android 中 Theme 和 Style 的系列文章,最后播客 Android Developers Backstage 中为大家介绍了一个增强版的 Repository 库:Store。

本公众号也会开启 Now in Android 的新系列更新,关注公众号【Android |Kotlin】,在首页点击 新鲜事儿 → Now in Android ,就可以看到这一系列文章的全部内容。

感谢你的阅读。