如果给 Android 撰写一个编年史,那每年的 Google I/O 都是一个新的 Android 年的开启,它预示着 Android 在后续一年新的方向和趋势。
2014 年的 Google I/O,新版本的 Android L 揭开面纱,它用 Material Design 重新定义了 Android 的交互方式。这种交互方式不仅适用于 Android 手机、平板等移动设备,也会延续到浏览器、手表、电视、汽车——这些 Android 即将出没的地方。Android Wear 定义了 Android 在可穿戴设备上的解决方案,Android Auto 将把 Android 带进福特、带进奥迪、带进你的座驾中,而 Android TV 则是 Android 占领电视、占领客厅的再一次尝试。
在这些眼花缭乱的新名词后面,是怎样的技术实现架构?体现了什么样的设计思想?对于开发者来说,要怎么理解这些技术,并更好的利用新的平台和机会接入自己的应用?
生来就为无处不在的 Android
Android Wear、Android Auto、Android TV……这些 Android 打头的不同设备解决方案目标是为了什么?这和市面上各式各样的 Android 电视、Android 手表、Android 盒子有什么不同?要说清楚这个,先要聊聊另一个话题:“可移植性”。
图 1:Android 架构图
从技术角度来看,Android 在整体架构设计上天生具有良好的可移植性,能够较为轻松的适配到不同的硬件设备上。如图 1 所示,Android 系统其实是构建在 Linux 内核之上的一个“运行时”(Android Runtime),由于 Linux 具有强大的可移植性,几乎可以嵌入到任何一个设备中运行,所以移植 Android 到新的硬件设备只需实现新的硬件抽象层(Hardware Abstraction Layer,HAL),按 Android 定义的标准为硬件上的 WiFi、相机等设备撰写驱动,而不需要修改上层的相关实现,难度大幅降低。
了解这一点就可以知道,将 Android 移植到不同的设备上并不是困难的事情,这也是非官方的 Android 电视、盒子可以很容易实现的原因。正是基于此,Android Wear 这些项目期望解决的并不是移植的问题,而是移植以后需要考虑的问题,包括:
统一的交互模式。之前不同厂商定制的电视、手表等设备,缺少统一的交互模式和控件库的支持,不仅对于用户而言增加了学习成本,对于开发者而言,也较难基于不同的实现机制来构建应用,生态系统也就难于构建。Material Design 为不同的设备构建了统一的“设计语言”: Android Wear、Android TV 等项目在 Material Design 的设计语言基础上,针对不同设备的交互特征提供了界面库支持,使得应用适配不同的设备变得简单起来。尤其是,Android 还将 Google 的语音识别服务带到了这些不同的设备上,使得很多复杂的交互都统一到了“说话就好”的交互模式下。
简单而统一的互联互通。不同设备有不同特征,在很多场景下都需要将各式设备“连接”起来,一起工作,才能发挥更大的价值。而现在如果你去买台第三方 Android 电视,要么是无法与其他 Android 设备通信,要么就是用各自不同的方案来解决,对用户来说学习成本高,对开发者来说则是不友好。而 Android Wear 这些解决方案,将互联互通实现到了 Google Play 服务中,实现到了 Android 系统中,使得连接变得简单而无缝,为开发者提供了更多的可能性。
更好的解决核心需求。为什么出门要戴手表?为什么汽车需要车载系统?为什么客厅要摆电视?手表、电视这样的设备原本就有它需要解决的核心需求,引入 Android 到这些设备,本质上是为了更好的解决用户在这些场景的这些核心需求。Android Wear、Android TV 这些项目一方面是引入了大量 Google 服务来解决这些设备的核心需求,另一方面也为开发者提供了易用的、针对不同硬件场景的 API 来接入更多好的服务,一并更好满足这些需求。
在各个设备上解决这些问题,是 Android Wear、Android Auto、Android TV 这些解决方案共同的目标,以 Android Wear 为例,来看看 Android 是如何设计和解决这些问题的。
Android Wear
Android Wear 是基于 Android 的可穿戴设备的解决方案。早在今年的 3 月份,Google 就发布了 Android Wear 的预览版本,当时还并没有任何支持 Android Wear 的设备,开发者仅能够通过模拟器来感受 Android Wear 的面貌。
而到了 2014 年的 Google I/O,Android Wear 的版本已然打磨成型正式发布,搭载它的 LG、三星手表也同步发(song)售(chu),其他可穿戴设备的预售信息也不断公布,这都使得对于开发者而言, Android Wear 不再是只能观望一下的东西,而是当下可以更清楚地了解、甚至是为它做点什么的方案。
查看本栏目更多精彩内容:http://www.bianceng.cnhttp://www.bianceng.cn/OS/extra/