手机和平板之外:带你理解跨设备的Android 技术体系

如果给 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/

时间: 2024-09-03 11:18:28

手机和平板之外:带你理解跨设备的Android 技术体系的相关文章

黑科技:使用高频声波跨设备跟踪推送广告

本文讲的是 黑科技:使用高频声波跨设备跟踪推送广告,技术观察小组称,这个所谓的"超声波跟踪"技术可以更容易地追踪使用多设备的用户,其中包括电视. 如果您早就开始担心广告会追踪网络浏览痕迹,更糟的消息来了:最近又出现了一项新的黑科技,它使用高频声波进行跨设备跟踪通讯. 据Ars Technica媒体报道,数字权利组织Center for Democracy & Technology(CDT)近期向美国联邦贸易委员会提交了一封信,信中表示了对这种隐藏的在线活动跟踪技术的担忧. 在给

索尼:PSV销量不好全怪手机和平板

随着手机和平板电脑等移动设备的崛起,以PSV.3DS为代表的掌机受到了前所未有的挑战,不过任天堂好歹有强有力的第一方大作支撑,而PS Vita的情况则要糟糕不少,对此VG247采访了SCE英国的总裁Fergal Gara.Gara认为PSV进入的移动游戏市场复杂程度比主机市场大很多,平板和手机游戏对整个市场有着相当大的冲击,重要的是玩家不可能一下子同时带太多东西."最主要的问题是,玩家中真正想要核心体验的不是那么多,而大多数玩家更想要他们的移动设备能够提供更多的功能" 最后,Gara谈

如何在手机、平板上打开电脑里的Office文档

关键词:WPS,Office,Word,移动办公 很多人一定遇到这样的情况:我们不得不离开电脑,但我们离不开电脑里的文档.自从WPS Office移动版出现后,小伙伴们就无需再为这个问题烦恼啦!可能很多小白用户还不知道如何使用这款Office APP,闲话不讲,今天小编就手把手教你如何在手机.平板上打开电脑里的Office文档. 第一步,将文档导入手机. 数据线:如果没有无线网络.数据流量,那么推荐你使用最原始的办法,用数据线将文档存储到手机.平板上,记清存储位置即可. 将文档上传到网盘中.对于

Android手机平板两不误,使用Fragment实现兼容手机和平板的程序

记得我之前参与开发过一个华为的项目,要求程序可以支持好几种终端设备,其中就包括Android手机和 Android Pad.然后为了节省人力,公司无节操地让Android手机和Android Pad都由我们团队开发.当时项目 组定的方案是,制作两个版本的App,一个手机版,一个Pad版.由于当时手机版的主体功能已经做的差不多 了,所以Pad版基本上就是把手机版的代码完全拷过来,然后再根据平板的特性部分稍作修改就好了. 但是,从此以后我们就非常苦逼了.每次要添加什么新功能,同样的代码要写两遍.每次

WPS移动版实现用手机或平板电脑遥控播放PPT

如何在演示PPT时脱离电脑的束缚,在观众面前像乔布斯那样高谈阔论?买一只价格不菲的PPT遥控笔?不,现在你只要有一部手机或平板电脑就能做到.借助WPS移动版,就可以实现用手机或者平板电脑遥控投影仪播放PPT.一起来看看吧! 首先需要在手机或平板电脑中安装WPS移动版.进入WPS移动版程序后,点击想要播放的文档.打开工具栏点击"播放"就可以向旁边的朋友们展示你的PPT啦.如果是在会议情景下,使用"共享播放"模式能够真正实现遥控投影仪播放PPT. WPS移动版独有&qu

如何实现手机、平板、电脑共用一套前端代码?

问题描述 如何实现手机.平板.电脑共用一套前端代码? 公司要做一个一起实现手机.平板.电脑共用一套前端代码的科普竞赛页面,希望有经验的同行高手,指导下 解决方案 http://v3.bootcss.com/getting-started/ Boostrap响应式布局,能适应多种终端设备 解决方案二: 平板和手机可以(但是布局可能需要根据平台重新设计,平板大,可以显示更多的内容),电脑不行 当然,微软最新的开发工具,可以一套代码,各个终端都能用 解决方案三: 那是哪种最新的开发工具呢 有相关网站案

微信公共号的文章中点击一张图片后,自动变为全屏浏览。这是编写代码实现的功能还是手机or微信自带的功能?

问题描述 微信公共号的文章中点击一张图片后,自动变为全屏浏览.这是编写代码实现的功能还是手机or微信自带的功能? 求解!如何不是手机的自带功能如何编写这个代码? 我写了一些放大功能的代码都达不到全屏的那种效果.. 解决方案 这个是通过微信公众平台提供的JsApi接口来实现,点击图片直接调起微信客户端自带的图片播放组件.// 调起微信客户端的图片播放组件进行播放 var srcList = []; $.each($('img'),function(i,item){ if(item.src) { s

KeepSafe:为手机或平板电脑中的照片及视频加密

7月18日消息,KeepSafe是一家位于硅谷的初创企业,其开发的同名加密相册Android及iOS应用目前已经拥有1300万用户,其中每月活跃用户为600万.这家公司日前获得了由知名创投机构Floodgate领投的340万美元投资. KeepSafe的核心功能,是为手机或平板电脑中的照片及视频加密,从而保护他们不被其他人看到.KeepSafe可以用来防止小朋友玩爸爸妈妈手机时不小心看到他们的成人级私房照,也能用来区分工作与个人生活中的照片. KeepSafe能让用户为移动设备中已有的照片及视频

android开发教程之判断是手机还是平板的方法_Android

方法一 复制代码 代码如下: public static boolean isTablet(Context context) {        return (context.getResources().getConfiguration().screenLayout                & Configuration.SCREENLAYOUT_SIZE_MASK)                >= Configuration.SCREENLAYOUT_SIZE_LARGE;}