移动终端应用软件开发实战(txt+pdf+epub+mobi电子书下载)


发布时间:2020-07-21 18:13:56

点击下载

作者:梁柏青,钟伟彬,林玮平,严丽云,冯牮,张幸平,叶韶生,张辉

出版社:通信图书编辑部

格式: AZW3, DOCX, EPUB, MOBI, PDF, TXT

移动终端应用软件开发实战

移动终端应用软件开发实战试读:

版权信息书名:移动终端应用软件开发实战作者:梁柏青,钟伟彬,林玮平,严丽云,冯牮,张幸平,叶韶生,张辉排版:KingStar出版社:通信图书编辑部出版时间:2015-02-01ISBN:9787115371355本书由人民邮电出版社授权北京当当科文电子商务有限公司制作与发行。— · 版权所有 侵权必究 · —序

移动互联网是一个创造神话和催生英雄的产业,2013年全球移动业务收入已经达到1.6万亿美元,相当于全球GDP 的2.28%,全球智能手机用户量已经超过了20亿,预计到下一个五年达到56亿,将迎来一个更辉煌的属于移动应用开发者的时代。随着消费互联网向产业互联网的演进,当今几乎每个行业都在经历与信息化的深度融合,从而给移动应用开发者带来更加广阔的创新创业空间。

本书的作者是一群我熟知的、在行业内锤炼多年的专业人员,包括移动终端和通信应用领域的业内知名专家和在开发一线的资深程序员。书中内容是作者多年从事移动终端应用研究与开发的经验总结,他们希望贡献自己的技术积累,帮助有理想、有创业激情的年轻创业者成为移动互联网的弄潮儿。

与市面上其他涉及移动终端应用开发的图书有所不同,本书涉及面广,除了深入浅出地讲述了Android/iOS/WindowsPhone 3种主流移动终端操作系统应用开发基础及大量参考代码外,还提供了其他同类图书较少涉及的内容,例如移动终端语音通信开发所涉及的关键细节和实用代码,介绍了为移动终端应用软件开发提供网络基础设施运营商资源的中国电信天翼开放平台和统一应用环境,详尽描述了移动终端设备软硬件结构和技术发展趋势。

相信本书可以帮助读者从多角度去探究移动终端应用的开发,具有较高的实用参考价值。2014年12月10日于北京第1篇移动终端应用软件开发综述第1章智能终端设备1.1 智能终端设备的定义

智能终端是指具有独立的操作系统,可以安装和运行第三方软件,并具备移动通信能力的手持设备。1.2 智能终端设备的类型和发展方向

智能终端可以归纳为以下3类。

●用户手持和佩戴设备:包括手机、平板电脑、智能手表、智能手环等。

●家庭类设备:包括智能电视、智能路由器等。

●办公类设备:包括企业和私人云存储终端等。1.3 手持式智能终端设备

和个人电脑产品类似,硬件和软件构成了智能终端设备,下面分别介绍硬件和软件体系的主要构成。1.3.1 硬件

拥有完整的SoC(System on a Chip,片上处理器系统),包括CPU(中央处理器)、内存控制器、GPU(图形处理器)、基带芯片,拥有独立的屏幕、镜头和天线设计及前端射频电路等组成部分。(1)中央处理器单元

负责执行核心运算和控制功能,业界已经可以支持高达八核的处理器平台,例如高通骁龙810,采用20 nm 制程工艺,内置4 枚Cortex-A57、4 枚Cortex-A53 核心组成的big.LITTLE8 核架构,支持32bit 及64bit ARM 指令集;三星Exynos 5 Octa 处理器,内置有4 枚1.8 GHz ARM Cortex A15 架构核心和4 枚1.3 GHz ARM Cortex A7 架构核心处理器。(2)基带处理器基带芯片

作为智能终端的通信模块,负责完成移动网络中无线信号的解调、解扰、解扩和解码工作,作为手机上的Modem,支持2G的GSM网络GPRS、CDMA网络的cdma2000 1x 或3G(WCDMA、cdma2000 1x、TD-SCDMA)网络、4G(HSPA+、FDD-LTE、TDD-LTE)网络的多制式已经是基带芯片的发展趋势。智能终端实现电话通信、短信业务和上网,都是通过标准AT指令发送给基带部分,基带部分完成处理后就会在终端和无线网络间建立起一条逻辑通道,将语音编码、短信或上网数据分组通过这个逻辑通道传送出去。目前,业界只有高通、收购了英飞凌的英特尔、收购了Icera的NVIDIA、爱立信和联发科等公司能提供多芯片的打包整合方案,如果手机厂商选用的是其他品牌处理器,那就必须另购第三方基带芯片。(3)GPU

智能终端在图形能力上的发展和传统的PC有着类似的途径,早期智能终端的操作系统和软件都是由CPU进行处理,呈现在屏幕上,不带单独的显示处理单元。由于CPU的图形处理能力较弱,传统的智能手机对需要大量图形呈现的软件和游戏往往力不从心,随后引进了单独的3D加速芯片,提升了智能终端展示3D图形的能力,可以流畅地运行各种3D游戏和3D应用程序,为智能终端的娱乐化带来了革命性的变革。早期的3D加速芯片功能性能比较弱,仅为3D程序提供一定的辅助处理作用,随着芯片技术的发展,3D加速芯片早已演化成真正意义上的GPU(Graphic Processing Unit,图形处理器),将所有图形显示功能从CPU那里都接管了过来,并且还提供了音视频播放、录制和照相时的编解码辅助处理功能。GPU作为一块高度集成的芯片,其中包含了图形处理所必需的所有元件,GPU和CPU之间通过RAM进行数据交换。GPU的数据指标很多,但是衡量一款手机GPU性能好坏的关键,则是看它的多边形生成能力和像素渲染能力。目前,市面上主流的移动GPU由3家公司生产,包括英国Imagination公司的SGX系列、美国高通公司的Adreno系列和显卡芯片商美国NVIDIA公司的移动GeForce系列。(4)内存控制器

终端的“内存”分为“运行内存”及“非运行内存”。其中,“运行内存”是指终端运行软件时需要的内存单元,更大的运行内存能更好地保证终端加载更多或运行更大的执行程序,它决定了多程序运行的流畅性,相当于电脑内存RAM;“非运行内存”作为终端的数据存储单元,相当于电脑的硬盘ROM。随着高容量闪存芯片成本的不断下降, 16 GB的终端自带内存、外带32 GB的扩展能力将成为市场主流趋势。(5)屏幕

屏幕大尺寸和高分辨率的发展已经是智能终端中手持设备的显性竞争焦点,为了支持保证更加出色的画面PPI 数值,支持1 920 像素 ×1 080 像素,采用屏幕对角线的长度为5英寸1080P分辨率的显示屏已经成为各厂商旗舰手机的标配。从人体工程中单手操控的合理性设计角度来说,男子以4.7英寸为最大极限,大于4.7英寸的屏(例如5.0英寸或5.3英寸之类的屏幕)很难进行单手定位全屏操控。女子一般以4.5英寸为最大极限。大于4.5英寸的屏,女子一般无法单手定位全屏操控(需要单手局部移位才行)。作为手持终端市场领先者的苹果公司,在关于手机屏幕尺寸提升方面一直坚持独立的定位,其中, iPhone 4 和4S 都采用3.5 英寸640 像素 ×960 像素IPS 屏幕,iPhone 5 和iPhone 5S 为 4英寸 640 像素 ×1 136 像素 IPS LCD 屏幕。iPhone 6 和 iPhone 6 Plus 提升为 4.7英寸 1 134×750 像素和5.5 英寸1 920×1 080 像素。三星Galaxy S5 则将屏幕稳定在5.1英寸屏幕、1 080P分辨率的定义上,屏幕材质为Super AMOLED。索尼Xperia Z3系列手机,采用5.2 英寸1 920 像素 ×1 080 像素IPS LCD 屏幕。从便携性方面考虑,能兼顾单手操作和便携性的屏幕最佳尺寸在4.3~4.8英寸,随着未来手机的边框越来越小,把实体按键尽量整合到屏幕里面,用合理的软件设计对交互界面进行优化,在需要全屏操作时隐藏按钮,以求最佳视觉效果,可以进一步减少体积,提高可便携性和易操作性。(6)摄像头

作为智能终端重要的视频捕捉和采集窗口,摄像头技术在最近两年得到了迅猛的发展,从初始的10万像素、30万像素发展到百万像素,然后再到当前的300万像素、500万像素乃至最高的4 100万像素。除了像素外,未来摄像头硬件能力的比拼将更多聚焦于光学性能和媒体处理能力的提升,例如光圈大小、变焦能力、防抖性能、感光器的进步、成像速度和画质、白平衡、自动对焦技术等。1.3.2 软件(1)智能终端设备操作系统竞争格局

进入2014年,智能手机操作系统依然是iOS和Android的双寡头格局。市场研究公司近期发布的研究数据显示,在2014年1-3月,全球智能手机出货量达到了2.669亿部, Android和iOS这两大操作系统在全球智能手机总出货量中的比例环比基本保持稳定,占比68% 和16%,微软的Windows Phone(以下简称WP)却将市场份额增加到了4%。在可佩戴智能设备上,以定制的Android操作系统和嵌入式Linux操作系统为主,与iOS设备和Android设备连接使用,支持WP操作系统的佩戴设备尚未面世。(2)现有操作系统架构

当前,智能终端的演进已经由运营商和手机制造商主导转向平台主导,并由创新应用开发为驱动力。终端操作系统是移动生态系统的基础,通过应用开发环境和应用商店实现整个生态系统繁荣。要在生态系统获得话语权,必须在操作系统方面有自己的话语权,发展自有应用开发环境,需要在终端操作系统的安全、小额支付、本地化服务、用户体验、跨平台跨屏开发等方面,具有自主创新。Android、iOS和Windows Phone的操作系统、开发环境、应用生态的基本情况见表1-1。

苹果公司作为垂直整合公司,控制着端到端产品体验,紧密结合硬件、软件、服务和设计,不仅拥有iOS平台、应用商店,还包括硬件知识产权、手机设计、内容发布、服务零售渠道,集成了iTunes内容分发服务和iClound在线服务,是从芯片到云的整条产业价值链。

iOS 作为封源操作系统,SDK 对外开放,用户只能安装来自官方应用商店App Store的应用。开发者可以进行应用开发,但是无法对UI框架、中间件、开发环境、系统内核进行定制,即不能对其进行系统级别的手机操作系统研发。围绕iOS,建立了繁荣、健康、庞大的生态系统。作为应用平台,iOS吸引了大量开发商在平台上的投资,是所有智能操作系统中应用数量最多、应用下载次数最多的平台。苹果成功避免在价格上竞争,通过顶级品牌、自我增长的生态系统,赢得市场最大利润,根据市场分析公司Asymco在2012年初的一份报告,虽然iPhone手机在全球市场的销量份额只有9%,但占了业界利润的75%。表1-1 3种操作系统的基本情况

Google采用和苹果不同的策略,成功地建立了广泛和多样化的生态系统,通过免费版权的方式,降低了手机制造商的准入门槛,改变了手机制造商格局,市场份额超过2%的制造商,从两年前的6个增加到10个。三星从Nokia手中夺得手机制造商的头把交椅,中国的手机制造商——中兴通讯和华为也进入了世界OEM的前10名。Android的发展,得益于众多的手机制造商和运营商希望能够有智能手机和iPhone竞争。

平台供应商追求统一体验,运营商和手机制造商希望打造特色,通过差异化获取竞争优势,两者之间存在矛盾。Google通过兼容性测试套件(CTS)和兼容规范文档(CDD),规范设备硬件规格,确保设备API的一致性和硬件规格,并实施越来越严格的控制。通过Android系统进行差异化空间的不断挤压,手机制造商不得不以价格和推出市场时间作为主要竞争点。三星依靠屏和芯片的垂直整合,以及Android新版本机型推出最快(最快的上市时间)获得盈利。在2012年第一季度,苹果和三星共占智能手机总利润的近99%,这意味着其余手机制造商在争夺剩下不到2%的市场利润。

通过用户体验、平台上的应用、生态系统,苹果和Google绕开运营商,直接面对用户,主导业界的发展,获取最大的利益。

随着云技术的发展和网络接入平滑性的提升,在终端平台上WebOS将有可能成为未来几年的终端软件平台“黑马”,目前WebOS 以Firefox OS 和Tizen 为代表。WebOS 是一种以Web为主要应用模式的操作系统平台,具备如下3个要素:

●它是操作系统,不是中间件或应用,架构包括操作系统层、应用运行环境层和UI框架层3个完整的层次;

●系统直接支持Web应用运行,而非通过浏览器或第三方软件支持;

●开发者基于HTML、CSS、JavaScript技术为其开发应用程序。

各系统架构如图1-1所示。图1-1中深灰色模板为开源第三方代码、无底色部分为应用,浅灰色部分为OS的组成模块。

WebOS是非常值得关注的平台,有可能在未来3年内得到充分的发展,虽然目前在手持设备上尝试WebOS,更多的是集中在OS支持HTML引擎上,但随着云计算技术和网络条件的成熟,加上佩戴设备的应用多样性需求不强,厂商在佩戴设备上采用WebOS技术,可以绕过目前终端操作系统平台的垄断,构建独立的生态圈。(3)完全自研新型操作系统

随着可佩戴设备的出现,业界找到了一个可以采用自研操作系统进入新型终端设备的领域。自研原生操作系统是以Linux内核为基础,自主设计系统架构,并搭建从底层到自带应用的整个操作系统。

①综合考虑搭建整个操作系统的难度风险和投资。

拥有商用智能操作系统的厂商技术实力雄厚,有着长期的技术积累。以Android为例, 2003年10月Andy Rubin创建Android科技公司,2005年8月被Google收购,2008年10月推出第一款商用Android 手机HTC G1,前后经历整整5年。如果重头开始,以Linux 内核为基础,搭建整个操作系统,需要组建一只庞大的研发队伍,投入大量的人力物力,开发周期长,即使开发出来,很可能系统已经落后。除了拥有技术实力和巨额投资,第一款商用手机推出时间和机遇很重要。MeeGo是令人扼腕的例子。2010年2月全球移动通信大会宣布进行MeeGo项目,由当时领先制造商诺基亚和世界芯片巨头英特尔共同推动,结合诺基亚Mameo和英特尔的Moblin,由Liunx基金会主导,在人力、财力、技术上都有雄厚的实力。MeeGo第一款商用手机Nokia N9在2011年6月推出,但在此4个月之前,诺基亚宣布和微软合作,将微软的Windows Phone作为其未来智能手机的唯一操作系统。如果Nokia N9能提早半年面世,将是另外的故事。图1-1 各系统架构

现今,智能手机操作系统发展很快,通常半年一个版本,新操作系统要赶上现有智能手机的步伐,在技术上不落后,维持平台的竞争力,需要长期的大量研发投入。过去10年,有很多公司推出的手机操作系统或移动设备平台,大部分都已远离或正在远离大众的视线,例如 ALP、Danger OS、ELIPS、LiMo、MeeGo、MIDAS、MOAP、Nokai GEOS、OpenMoko、Palm 5/6、Prizm、SKY-MAP、Symbian、UIQ、WebOS、Windows Mobile等。移动手机市场竞争激烈,任何组织或者联盟决定开发新的操作系统,都应是深思熟虑的结果,需考虑到技术、投资和风险。

②新操作系统将与现有的智能手机操作系统在市场上竞争,先来者在整个产业链上占据先机和优势,对后来者形成障碍。

iOS和Android已经得到用户和开发者的认可,占领了市场高地,有成熟的产业链,对后来者形成障碍。后来者在推广上需要以更大的投入来获得认同。

2010年10月,微软在Windows Phone 发布之初曾花费4 亿美元进行营销,并承诺为诺基亚提供达10 亿美元的补贴。然而Strategy Analytics 执行主管尼尔·莫斯顿(Neil Mawston) 表示,2012年Windows Phone 的美国市场份额将为4.1%,仅略高于2011年的3.5%。新操作系统要获得消费者青睐,说服非发烧友非极客的普通用户放弃熟悉的用户界面和使用习惯,需要自身更加优秀,因此新操作系统有更高的技术门槛。

智能手机操作系统是应用平台,更多的应用吸引更多的用户,更多的用户吸引更多的开发商开发更多的应用,如此正反循环,形成良好的生态环境。一个成功的应用平台,例如Android,除了获得Google公司的投资外,每年还获得全球开发者的大量投资,为其生产应用提供平台的价值。

开发者对平台的采纳实际是对平台的投资,包括学习开发语言、熟悉开发工具、购买开发环境,成本包括金钱和时间的投入。移动分析师Andreas Constantinou 指出平台“不能买到开发者的钟爱,只能播下种子”。平台需向开发者证明平台值得信赖,需要展示该平台上的应用具备赢利能力,而初期平台上缺乏应用,要打破这“鸡和蛋”的僵局,平台需要资助开发者开发应用以及培养开发者。以微软为例,微软向开发者提供6万~60万美元资助他们开发WP应用,从某种意义上“购买”WP应用。微软和诺基亚宣布各拿出900万欧元(约为1 200万美元)资助芬兰Aalto大学的移动应用开发项目,该项目从2012年5月启动。“播下种子”需要巨大的投资。

通过微软的努力“播下种子”,微软2012年6月在WP开发大会上宣布,WP Marketplace应用超过10万个。与此同时,领先的两大平台中,Apple应用商店有65万个应用,Android 的Google Play 有近45 万个应用。更重要的是新的小的生态系统增加应用速度远低于Android 和iOS。在2012年Q1、iOS 和Android 每周各增加4 600 个和9 000个应用,而黑莓和Windows Phone分别为1 800个和1 400个应用,差距在不断拉大。

开发者开发一款应用,有多个平台的版本,例如愤怒的小鸟,最先是iOS版本,接着是Android版本,最后才轮到WP平台。对于应用,特别是游戏,由于后来平台推出版本的时间延后,追求时尚赶新潮的消费者仍将眼光锁定在两个领先平台。

围绕平台不仅有手机制造商和开发者,还有手机配件这经常被忽视却非常活跃的市场。配件包括手机耳机、蓝牙耳机、手机数据线、车载配件、手机保护膜、个性保护套、手机饰品、手机连接器、手机充电器、手写笔、手机底座等。配件如同应用那样增加设备的价值,扩展设备用途,提供个性化的差异。Apple的生态系统包含了生产其专有的30脚配件的工厂,平台通过不兼容配件提高用户的黏性。

领先平台通过用户体验,通过平台应用,通过丰富的配件,在后来者面前树起了屏障,要逾越有很大的困难。(4)作为Android分支发展的可行性

要掌握系统的安全架构,主导开发者开发应用,繁荣生态系统,完全自研操作系统不是唯一的途径,可通过对应用平台的掌控,深度本地化,优化原有的安全机制并增加新的,在已有的商用系统上发展分支版本,在产业生态链方面,兼容原系统应用,避免生态系统建设的巨额投资和漫长的建设周期。

基础操作系统,需被证明有优秀的用户体验,有良好的生态系统,并允许在上面发展分支版本,才能被选中。iOS和Android是智能手机的双寡头,没有其他系统可与它们竞争。iOS是封闭的系统,无法在上面发展自有版本。在排名前6名的操作系统中,还有Windows Phone 仍保持活力,Windows Phone 也属于封闭操作系统,同样无法在上面发展自有版本,因此Android成为唯一的候选者。

①Android开源项目AOSP及其版权许可

Android是移动设备的开源软件栈,Google在Android开源项目网站上解释道:“我们创建Android是为了将我们的体验部署到移动应用。我们要确保没有失败中心点,因此任何业界成员不能限制或者控制他人的创新。这就是为什么我们创建Android,并将它的源代码开放。”

Android的开源代码可以从AOSP(Android Open Source Project,Android开源项目)中获取。AOSP是由Google领导的开源项目,是对Android进行维护和进一步发展,主要目的是建立一个优秀的软件平台,有许多公司的工程师参与,它的代码是可定制和可移植的,用于生产高质量的消费产品。Google公司还维护一个Android私有分支,该分支比释放在AOSP的公开代码提早6个月开发期,只提供给特定的合作伙伴,如OEM厂商。

Android Stack中的Android专有组件大都采用Apache 2.0许可,其他组件采用该开源社区所使用的许可,例如Linux内核和WebKit分别采用GUN GPL和LGPL,还有少量组件采用其他版权。

Apache 2.0 与GUN GPL 有显著差异,允许使用者发布经过修改的版本而无需将修改反馈给社区,可拥有自己的修改。“用户可以为自身所做出的修订添加自己的版权声明,并可为修订内容或衍生作品提供整体的使用、复制或分发的附加或不同的条款,条件是用户对作品的使用、复制和分发必须符合本许可证中声明的条款。”根据Apache 2.0,用户一旦获得授权,将是永久授权,无需担心授予方未来会终止授权,“每个贡献者授予用户永久性的、全球性的、非专有性的、免费的、无版权费的、不可撤销的版权许可证,以源程序形式或目标形式复制、准备衍生作品,公开显示、公开执行,授予分许可证,以及分发作品和这样的衍生作品。”

Apache 2.0 许可是宽松的。基于这个许可,根据我国本地需求,可以在Android 开源代码上进行深度定制和开发,对修改和增加部分进行自己的版权声明,可拥有自己的专利和知识产权。由于Apache 2.0的版权授权是“永久性的”、“全球性的”、“免费的”和“不可撤消的”,保障了基于Android的自研操作系统未来的商用,避免和AOSP开源社区的版权纠纷。

②Android内核和Linux内核

Android 操作系统的内核是基于Linux 内核,是Linux 内核的一个分支。Linux SCSI子系统的维护者James Bottomley认为,Android是有史以来最成功的Linux发行版,它的惊人成功归结为“内核分支,重写工具链和C库,开发一套自己的Java应用框架以及极度不喜欢GPL”。

对于官方版本的Linux内核,如果需要进行某些改动,例如移动电源管理,根据GPL许可,传感器厂商编写的内核驱动程序需要提交给Linux社区,当中可能含有具备商业竞争优势的代码,由社区评估保证质量,并争取合并到Linux的下一版本,以便即使Linux升级该修订仍持续有效。这在开发中需包含参与Linux社区贡献的时间,以及社区审查和接受补丁代码流程的时间,但考虑到移动智能手机频繁换代,市场竞争激烈和创新迭出,流程显得拖沓。

Android在代码质量和市场成功两者的衡量中无疑选择了后者。Android在内核中增加后门,使驱动从系统空间的内核开发转为可在用户空间的开发,从而绕开Linux内核的GPL许可限制,而在用户空间的程序只需遵循Android的Apache 2.0许可。这使得厂商可以将产品快速推向市场,不会因为Linux社区的流程而错过市场档期。

2010年2月3日,由于Google在Android内核开发方面和Linux社区方面开发不同步, Linux内核开发者Greg Kroah-Hartman将Android的驱动程序从Linux内核“状态树”(Staging Tree)上除去。2010年4月,Google宣布将派遣2名开发人员加入Linux内核社区,以便重返Linux 内核。2011年,Linus Torvalds 说:“Android 的内核和Linux 的内核将最终回归到一起,但可能不会是4~5年。”

目前,Android内核作为Linux的分支,比官方版本的Linux内核更适应移动市场化,具有更强的竞争力。它们之间的差异也是我国为何不选择完全自研而考虑以Android为基础开发我国手机操作系统的重要因素之一。

③Android HAL和终端适配

终端适配一个新平台的成本是很高的,费力费时。据说HTC在2005年就开始研究Android 适配,在2000年就开始研究Windows Mobile 适配,是在推出第一台G1 和SPV机型的3年前。Nokia的首款(也是最后一款)MeeGo手机N推出日期多次延后,是Nokia最后押宝在WP的重要原因。

Android 的HAL(Hardware Abstraction Layer,硬件抽象层)是*从内核中抽离的硬件功能,以.so档的形式存在,把Android框架与内核隔开,使得上层软件不因硬件的不同而更改,而是通过HAL适配底层的不同硬件。目的是把Android架构与 Linux内核隔开,使上层框架的开发可独立进行。借助Android的HAL,可增强新系统的可移植性。

Firefox OS是成功利用HAL实现系统快速在设备上移植的成功案例。

在2012年7月,Mozilla 公司宣布将它的Web 操作系统Boot to Gecko 正式命名为Firefox OS,这是首个全部使用Web 技术编写的操作系统。它的底层核心称为Gonk,包括Linux核心、硬件抽象层,而硬件抽象层部分则来自Android的AOSP。

Firefox OS 目前还没有推出商用机型,它未来的发展前景如何尚待评估。但是对于手机制造商适配第一款平台手机的艰辛相比,Firefox利用Android HAL,很快将Firefox OS移植在现有的Android设备上。在2012年的世界移动大会上,Mozilla在三星Galaxy Ⅱ高端智能手机硬件上演示新系统。

在Android上拉出分支发展自研操作系统,可以利用Android的硬件抽象层,避免设备适配新系统的困难和耗时,同时也减轻了手机制造商的投入和风险,加快产品市场化的步伐。

④利用Android生态系统

诺基亚的CEO Stephen Elop在他那著名的燃烧平台备忘录中写道:“手机产品的争夺现在已经演变成一个生态系统的战争,其中生态系统不仅包括设备的硬件和软件,还包括开发者、应用软件、电子商务、广告、搜索、社交应用、基于地理位置的服务、全方位通信以及其他很多东西。我们的竞争对手并不是通过设备抢占我们的市场份额,而是通过一个完整生态系统。”

智能终端改变了原有的终端格局和商务模式。终端系统不再作为软件平台,通过版权费从手机制造商获利,而是作为应用平台,面对消费者和开发者,触发网络效益,即更多的用户吸引更多的开发者,更多的开发者生产更多的应用,更多的应用吸引更多的用户,如此正向循环,建立健康的生态系统。要新建一个生态系统投资大,技术门槛高,并不是简单地提供应用商店即可,而是要吸引开发者吸引用户,触发网络效应的正向反馈。既然自研操作系统是Android的分支,可借助Android的生态系统,降低风险。自研操作系统作为Android的分支,必须兼容上游的Android应用,即可以安装和运行Android应用,但反过来不一定成立,即自研操作系统的应用不一定能在Android设备上安装或运行。简单地说就是:你有的我有,但我有的你不一定有。

新系统可以延续用户在Android系统上的体验,并在此基础上进行本地化操作的改善,兼容Android的几十万个应用,发展本地特色应用和服务,用户可以根据需求,在现有的Android应用以及新系统新添应用中进行选择,有效降低建设新系统及生态系统的投入,缩短获取规模数量应用所需的时间。(5)终端安全技术

随着移动智能终端的广泛应用以及功能的不断扩展,其使用过程中的安全问题被越来越多的用户所关注。近年来,恶意吸费、窃听、窃录、位置信息泄露等安全事件频发,使用户对移动智能终端的安全性产生顾虑,进而影响到移动智能终端和移动互联网应用的发展。

移动智能终端安全能力主要包括3个部分,最底层是移动智能终端硬件安全能力,之上为操作系统安全能力,顶层为应用层安全要求。

移动终端硬件安全目标是在芯片级保证移动通信终端内部Flash和基带的安全。确保芯片内系统程序、终端参数、安全数据、用户数据不被篡改或非法获取,向上层操作系统提供安全能力接口,扩充终端安全能力。

操作系统安全目标是达到操作系统对系统资源调用的监控、保护、提醒,确保涉及安全的系统行为总是在受控的状态下,不会出现用户在不知情情况下执行某种行为,或者不可控的行为。另外操作系统还要保证自身的升级是受控的。

应用软件安全控制目标是要保证移动终端对要安装在其上的应用软件可进行来源的识别,对已经安装在其上的应用软件可以进行敏感行为的控制。另外还要确保预置在移动终端中的应用软件无恶意吸费行为,无未经授权的修改、删除、窃取用户数据的行为。

系统安全技术主要包括以下几个方面。

①安全的移动终端硬件启动及操作系统引导过程

要求移动终端在硬件启动过程中加载经过签名的官方来源的引导程序、操作系统内核、固件。移动终端设备可在启动的只读存储器(Boot ROM)保存生产厂商或者运营商的公钥,公钥在移动终端出厂时固化到设备中,用于对引导程序、操作系统内核、基带芯片固件进行签名验证。

一般情况下,在系统启动过程中,移动终端的引导程序(Bootloader)、操作系统的内核(Kernel)、操作系统的内核扩展模块(Kernel Extension)以及基带芯片固件(Baseband Firmware,用于移动蜂窝网络的通信),这4部分将被顺序加载和执行。

安全移动终端启动过程如下:移动终端加电之后,加载只读存储器中的代码,使用设备固化的公钥来验证引导程序是否合法;如果合法,则加载引导程序,引导程序启动后,验证操作系统内核是否合法;如果合法,则加载操作系统内核并执行,操作系统内核运行后验证内核扩展模块以及基带固件是否合法;如果合法,则将其加载。在上述过程中,每一部分都需要验证其合法性,并且每一步都依赖于前一步的成功验证和加载执行,任何一个步骤出现问题,比如无法通过验证,都需要在设备屏幕上做出相应的提示,引导用户做出正确的操作。

②安全的操作系统升级过程

为了移动终端使用官方来源的引导程序、操作系统内核、固件,在移动终端升级的时候,需要对升级包进行验证。厂商或者运营商使用私钥对升级包进行签名,用户在设备上接收到升级通知,按照提示信息进行下载和安装。在此过程中,在前面描述的引导阶段获取的公钥,将对升级包的签名进行验证。

为了进一步保障设备的安全性,要求通过一些软件手段防止系统降级。如果移动终端的操作系统允许降级,恶意攻击者则有可能引诱用户安装一个低版本的系统,并且通过这个低版本系统中的某个漏洞破解移动终端的安全机制。厂商或者运营商应当鼓励用户尽快升级到最新版本,新版本尽快地封堵一些已经发现的漏洞。

升级过程中,设备和升级服务器通信的时候,需要采取合适的加密方案,比如可以使用SSL、TTS的通信协议。

③预置可信的系统应用,并安装可信第三方应用程序

移动终端的应用程序包括厂商提供的系统级的应用程序以及大量的第三方开发商提供应用程序。为了保证程序的合法性和安全性,要求采用私钥签名公钥验证的方案。系统的应用(比如联系人、电话拨号之类的应用)通常包含在操作系统的发布包中,在设备出厂的时候预置在设备中,不需要用户进行额外的安装。对于系统应用,要求由厂商或者运营商进行签名。第三方应用程序,由第三方的应用开发方开发,在向广大的移动终端用户发布之前需要先通过厂商或者运营商的测试、审核、认证,然后再用自己的私钥对程序签名,防止恶意程序安装到用户的设备上,并在发现应用的恶意行为的时候追踪到相关的开发商,公布其行为并进行惩罚。

程序运行时安全技术包括以下一些方面。

●要求所有的第三方程序运行于沙箱(SandBox)内,沙箱是一种技术术语,沙箱向第三方应用封闭所有的系统资源,只提供应用运行需要的最小资源集合。例如,第三方应用仅能访问自身的文件目录,如需访问系统的摄像头、网络、GPS、联系人等能力必须在其安装或者应用审核时进行申请并获得批准。

●应用程序间的共享信息,包括系统程序对于第三方应用程序的信息,不能直接访问,可通过API实现访问。

●可以选择使用的是ASLR(Address Space Layout Randomization)技术,通过对堆栈、共享库映射等线性区布局的随机化,通过增加攻击者预测目的地址的难度,防止攻击者直接定位攻击代码位置,达到阻止溢出攻击的目的。

④移动终端的网络安全

操作系统要支持Secure Socket Layer (SSL V3) 、Transport Layer Security (TLS V1.1, TLS V1.2) 以及DTLS。系统级应用程序,比如浏览器、邮件管理程序,要默认使用这些安全机制并提供友好的API供开发者使用。

操作系统要支持工业标准的Wi-Fi协议,要支持最高级别安全保障的WPA2企业级加密算法(WPA2 Enterprise),要支持多种IEEE 802.1x 认证方法,包括AP-TLS、EAP-TTLS、EAP-FAST、EAP-SIM、PEAPv0、PEAPv1以及LEAP。

操作系统要支持Bluetooth Encryption Mode 3、Security Mode 4 以及Service Level 1 Connections。

⑤高敏感性移动终端操作系统要求

智能手机上的一些敏感信息,如银行密码,由于对用户来说非常重要,为了彻底防止恶意软件劫持用户的输入键盘以及偷窥用户输入的密码,对高敏感性的移动终端需要使用硬件芯片结合软件操作系统的解决方案来解决超高级别安全需求。ARM的TrustedZone技术以及Intel的True Cove技术是其中的代表。

安全硬件方案的基本原理是设备上存在着两个操作系统,一个操作系统为用户平时使用,另一个是小型的安全操作系统。安全操作系统能够在用户输入密码等敏感场合被激活并接管输入键盘以及部分屏幕,显示交易金额、交易密码输入框等图形界面并接收用户的输入,发送到网络侧验证。在此过程中,存活在非安全操作系统上的恶意软件并不能截取到用户输入的任何信息。由于在硬件层面进行了彻底的隔离,非安全操作系统上任何层次任何权限的应用都不能偷窥、窃取安全操作系统上的信息。1.4 可佩戴式智能终端设备

市场上出现的智能佩戴设备包括智能手表、智能手环和智能眼镜,随着处理器电路和电子元件连接精度的提高,芯片制造工艺从0.35μm、0.18μm、0.13μm、90nm、80nm、65nm、45nm、32nm发展到22nm,新一代处理器将很快采用15nm电路设计,意味着在更小的单元中可以容纳更多、连接更多的电子元器件,使得智能佩戴设备向着更精致、更贴身的设计方向发展,同时随着整体功耗的降低、电池技术的发展,适合长时间随身佩戴的设备将很快流行,极大地改变现代人的生活方式。

市场上的智能手表大部分是作为手机的替代品出现,在支持电话、短信和邮件等通信功能的基础上,具备媒体播放器、GPS等功能,并通过蓝牙等无线通道和手机保持通信同步。部分智能手表可以安装定制的第三方软件,支持包括消息推送、Facebook和Twitter等消息服务。智能手表是可佩戴(或称可穿戴)设备中最早推出的产品。2013年作为智能手表年,它并没有按照人们的预期形成爆发性的市场增量,其原因一方面是,在设计尺寸、重量、电池续航和人机交互上没有真正做出具备优质用户体验的产品,另一方面是尚未找到真正的杀手锏应用的可佩戴业务市场。Google官方在推出Android Wear 时定义了一些基础功能,基于“Information Move with You”的概念,以消息推送为主要能力,展开基于计划、内容定制、定制导航、传感器(如地磁、重力、陀螺仪和环境等)的提醒服务,但对于手机端众多类型的应用将以何种形式出现在智能手表上,解决操控难题,整个业界还在探索之中。

从这些角度分析,可以预期未来几年,智能手表将向着两个方向进行优化和演进,首先是对手机和手表产品的替代性进行研发,设计上贴近传统手表的时尚和精致,功能上取代绝大部分手机的基础功能,独立、精巧的配饰型腕表手机对于追求时尚、便捷和运动型的人群将具有很大的诱惑力,将取代部分传统手表的市场和深度挖掘手机的新增市场。另一个方向是智能手表将增加更多的生物传感体验,比如增加脉搏传感器和压力传感器,监测人体的血压和心跳,增加体脂率和新陈代谢率的生物测量,配合计步传感器,演进成简易的健康和运动追踪设备。其次在设计上,应该以一个统一的视角来审视桌面、移动、车载以及可佩戴设备的设计。当一款应用需要跨越多个终端和平台时,它应当被视为同一个产品的设计问题而不是相互割裂。

智能眼镜作为一种头戴类型的佩戴设备,以近期推出的谷歌眼镜来说,同样支持普通智能电话的基本语音和消息类服务,通过骨传导技术支持电话通话,通过眨眼、点头、摇头和语音的方式,实现日历、语音搜索、时间、温度、短信、拍照、地理位置、音乐、搜索和摄像等功能。智能眼镜可以支持达25英寸的虚拟屏幕尺寸,模拟2.4m左右的实际屏幕距离,镜片屏幕分辨率为640×360,内置GPS、配置陀螺仪等基本的传感器,内置16 GB存储空间,支持无线Wi-Fi、IEEE 802.11b/g和蓝牙无线通信功能。

智能眼镜以切入专业应用市场为当前的主要机遇,谷歌眼镜视医疗健康行业为主要的应用场景,实现了不需医护人员双手操作的声控谷歌眼镜,在医疗行业有以下一些应用场景。

●快速和实时获取电子医疗记录(Electronic Health Record,HER):谷歌眼镜使得医生不再需要将注意力从手术或治疗过程中移开,可以通过语音搜索,直接获取云端的患者医疗记录、关键症状、病历和化验结果,呈现在虚拟显示屏上,快速和精准地找出适合的治疗方式,谷歌眼镜还能够协助急诊室医护人员实时接收重点护理病人的预警信息。

●药物及设备管理:对病房门、药品及设备上的二维码进行扫描,以即时更新和同步正确的患者医疗记录。

●增强外科手术中的现实感:如谷歌眼镜摄像头对准患者身体部分时,虚拟屏幕能够提供全身的图像信息,降低外科手术的失误率。

●远程传送病人情况的视频:在没有专业医护人员的急救现场或家庭中实时传送病人情况;在手术室,将手术过程以视频流方式发送,用于教学或会诊等。

●自动化个人健康护理:谷歌眼镜作为一种佩戴型随身设备,能够提醒患者及时服药、做运动,或者追踪用户的全天活动,以此检查用户是否出现老年痴呆症的征兆。

除了医疗健康行业,在制造、建筑等行业也有类似的一些应用场景,XOne推出了一款面向蓝领工人的安全镜替代品,与普通眼镜相比,XOne在两个镜片之间搭载了一个摄像头,在两侧装有麦克风和耳机,并能够与手机通信。XOne眼镜一个重要的应用场景是扫描条形码,无论是在工厂里扫描器材,还是在飞机场扫描行李,只需用语音向XOne发出命令,它就会自动启动摄像头扫描;使用者则可以将双手腾出来,去撑开印有条形码的单据或者提箱子,而无须像过去一样要用一只手握着手机或专用仪器完成扫描工作。

智能眼镜目前仍存在着大量不足,介绍如下。

●电池续航时间不长,持续使用只能续航1~2 h。

●语音不可能实现所有任务,在嘈杂环境下不易使用语音命令,因此还需要手动操控眼镜右侧的物理按键。

●观察窗口影响用户感知,佩戴眼镜的感觉就好比坐在1.8m以外的距离观看28英寸的屏幕,和不佩戴眼镜时看屏幕的感觉还是有差异的。

●配重不平衡,眼镜模式单一等。

●智能眼镜的发展,需要云存储和专家系统、语音识别和快速处理技术、导航地图等基础业务能力,配合提升用户软件体验,由于谷歌导航、Google Now、Goole+ 等核心谷歌服务无法使用,在国内更有理由看好目前百度内测的首个佩戴式产品“Baidu Eye”,据称“Baidu Eye”将会配备超小液晶显示、语音操控、图像识别、骨传导技术,并且会和百度语音、百度云、百度地图等进行深度整合。

智能手环作为一款手腕式智能设备,目前的主要应用场景是记录和采集日常生活中的运动、睡眠和血压等实时数据,并将这些数据同步到数据中心,通过数据分析起到指导健康生活的作用,包括以下主要功能。

●睡眠质量监测:可以监测深浅度睡眠时间、清醒时间,设置唤醒等规律性的提醒功能,提升人们整体的睡眠质量。

●运动追踪:跑步或走路运动路径描绘、卡路里消耗计算。

●健康检测:在不对人体测量部位构成创伤的情况下,利用光电传感技术,捕捉血液流过血管时的振幅,测量人体生命体征,准确测量出脉搏、血压、血糖和血氧等数据。

●饮食监测:摄入热量计算等。

可佩戴医疗设备对血糖、血压、血氧等的监测数据可以上传至智能手机和云端数据中心进行存储和分析,并结合被监测人的病例数据,通过医疗专家系统实时提供预警以及相应的诊治意见。

可佩戴医疗作为未来移动互联新的入口,最大的潜力不在于硬件本身,而在于通过硬件黏住客户,在于硬件背后收集到的医疗云端“大数据”以及由此衍生出的商业模式:利用医疗云端“大数据”为用户提供个性化的远程服务、为企业进行精准的广告投放、为临床外包机构提供研发服务、为医院提供自动分诊服务、为医生提供应用性极强的再教育服务,以及和保险公司合作绑定客户(可佩戴医疗设备厂商可通过利润分成的模式和保险公司合作获得广大的客户群)。1.5 家庭网关和路由设备

2014年,众多终端厂商将主攻方向聚焦于末端设备的智能化,尝试智能化在家庭和办公场所放置的、和身体接触到的日常终端设备,将互联网和智能控制的概念引入这类设备,引导用户使用它们所提供的服务。其中,家庭网关和路由器的智能化改造是重要的突破口。

传统路由器是办公室和家庭中所有互联网设备接入的数据流中转平台,同时能够连接智能手机、平板电脑、机顶盒等众多设备,智能路由器的出现是将家庭存储设备集成到路由器中,使得路由器由单纯的数据传递中心演进为信息存储、分享和控制中心。

实现路由器的智能化改造同样可以借鉴PC和手持终端演进的路线,具体介绍如下。

●增强路由器处理能力,将路由器由简单的嵌入式单芯片设备升级为多核多任务处理设备;增加存储空间,内存由32 MB 升级到2 GB 或更高。存储演进成为NAS 的数据存储能力,增加到1 TB以上。

●为路由器能够配备智能操作系统,构建一个基于路由器的智能平台环境。

●让路由器和云服务紧密结合,通过路由器将家庭的私有云服务和公有云服务进行融合。

●增强路由器的家庭智能控制功能,成为未来智能家居设备的控制中心。

●支持近场通信,成为交易和连接中心。

目前,市场上已经有大量的智能路由产品,包括极路由、小米路由、果壳路由以及360Wi-Fi等,以小米路由器为例,目前可以支持的业务能力如下。

●标配1 TB 的存储单元。可以假设家庭和个人的数据服务器,存储电影、音乐、照片和各种类型的数据,并实现随时备份或访问,还可进行远程访问并在移动设备上观看。

●支持最新IEEE 802.11ac Wi-Fi 协议,双频并发数据传输率最高可达1 167 Mbit/s。配备Broadcom双核CPU及美光/三星256 MB大内存,可稳定高速支持下载、文件读写、预加载、网络加速等,还有丰富的插件应用,完美发挥1 TB大容量硬盘性能。

●采用2×2 内置天线设计,分别负责2.4 GHz 与5 GHz 的信号传输。采用波束成形(Beamforming)技术可根据终端设备的位置,进行智能信号跟随。独立外置功率放大器,有效加强信号的强度与穿透力。配备节能、标准、穿墙3种模式可调。

●在安全上配备了三重防护,配备了更安全的路由,实现了传统路由器不能支持的防蹭网、防欺诈、防隐私泄露等功能。1.6 智能电视

智能电视已经成为平板电视市场的新热点,将逐步取代传统的电视类产品。智能电视最大的特点就是具有自己的操作系统,实现了传统电视和互联网的无缝对接。

智能电视具备传统电视的基础能力,并在音效和画质上进行了升级,例如小米电视配备全球顶级供应商超窄边1 920像素×1 080像素全高清3D液晶面板,LG 47英寸IPS硬屏/三星48英寸SPVA屏,超广视角、支持3D,配合11项画质增强技术和分体式音腔设计,支持杜比和DTS双解码,拥有绝佳的视听体验。

智能电视在硬件上增加了智能处理模块,例如小米电视采用高通骁龙600 MPQ8064处理器,四核1.7 GHz,2 GB 超大内存,8 GB 高速闪存,Wi-Fi 双频、双发双收双倍传输,蓝牙4.0,全面支持蓝牙耳机/音箱/游戏手柄/键盘/鼠标等硬件配置。智能电视已经成为一台可以单独操控的智能终端。电视可具备超大屏特点,在高性能计算和图形处理芯片技术方面不断升级和革命,例如小米电视采用了Adreno 320 图形处理器、2 GB DDR3 双通道内存及8 GB eMMC 4.41 高速闪存,使得智能电视成为大型3D 体感游戏的主要选择。

智能电视具有独立的智能操作系统,目前已上市的智能电视使用的操作系统可大体分为3类:Android、Windows及各企业的自建系统,除了收看传统电视,用户可以通过内置浏览器实现互联网上网访问,并自行安装、卸载和运行第三方服务商提供的软件服务。软件内容技术的革命,使得智能电视成为了内容可定制的产品。

智能电视内置了大容量的存储空间,可以内置海量免费高清电影、电视剧等内容,并且支持Miracast、Wi-Di、AirPlay、DLNA、SMB协议等多种与手机、电脑的连接方式,同时具备强大的双频Wi-Fi(支持5 GHz/2.4 GHz),配合2×2双天线设计,支持双发双收,拥有双倍的传输速率。1.7 智能终端设备的演进目标

随着智能终端的高速发展,大到智能电视,小到各种佩戴型设备,智能终端设备已经成为人们和世界沟通的终端工具,它们的出现给世界和人体增加了一个连接通道,使人体更多的属性通过它们传递到互联网智能世界中,和整体数据体系进行融合。在业务和设备发展方向上,智能终端将逐步成为一个开放的业务承载平台,制造商逐步实现“硬件”盈利模式向“硬件+内容+服务”盈利模式的转变,改变原来一次性终端销售的盈利模式,通过销售手机、平板电脑、智能电视、智能路由器、智能手表和可佩戴设备等终端产品,同时提供内容和服务,形成终端的市场溢价,并产生持续服务的盈利能力。第2篇Android应用软件开发基础篇第2章初步认识Android2.1 Android前世今生

Android 的英文本义是“机器人”。Android 之父是Andy Rubin,如今是Google 的工程副总裁,他曾就职于苹果和微软,在微软工作期间,Andy Rubin 曾经制造出一个会走路的机器人,装有摄像头和麦克风,这充分体现了他对于机器人的热爱。Android是Andy Rubin在2003年创建的,目标是开发一个向所有软件设计者开放的移动手机平台。2005年,在Andy Rubin 艰难完成项目之际,他写了封信给Google 的创始人Larry Page,几周后, Google迅速收购了成立仅22个月的Android。

2007年,Google正式发布了Android操作系统,并宣布成立了一个全球性的开放手机联盟(Open Handset Alliance,OHA),该组织包括了手机制造商、手机芯片厂商和移动运营商等,其目标旨在开发多种技术,大幅削减移动设备和服务的开发和推广成本。仅3年期间,因为Android合理的系统内核设计、Google对互联网趋势的深刻见解及成熟的市场推广模式,Android已经超过竞争对手。据2012年的调查,在手机操作系统领域, Android已经占据全球市场70%以上的份额,在平板领域占据了40%。

Android是基于Linux内核开发,用于连接移动终端设备的软件栈。Android提供了一个开源的Java虚拟机及统一的应用程序接口,Android希望应用开发者只要写一次程序,就能在各种手机硬件平台之上使用。Android采用了Linux内核,并曾作为Linux的一个分支存在,但2010年2月,Android被Linux除名。2.2 Android家族版本演进及介绍

2008年9月23日,Android 1.0发布。在正式发布前,有两个内部测试版本,分别是阿童木、发条机器人,由于涉及版权问题,在Android 1.5 发布时,改用甜点代号来命名各版本手机系统,并且以A~Z的字母顺序排序,而且每个命名都是当前字母的一个食品名称。到2012年间,Android已经发布了9个主要版本。

从Android的发展过程来看,Android版本的迭代速度极快,而Windows 操作系统推出25年来,仅有10 个针对普通消费者的版本。截至2013年1月,据Google 官方发布的各版本的使用情况统计,Android 4.1 和4.2 版本(Jellybean)的安装率分别为9.0%和1.2%;Android 2.3(Gingerbread)的占有率已经开始缩小,终于小于50%了,但仍然占主导。

Android版本更新速度越快,Android各版本的碎片化越严重,旧版本的手机大量存在,手机厂商不可能统一升级,通常是为了宣传新品才使用最新Android版本。同时由于其开源本质,手机厂商通常在原生Android系统上对UI做改动,而不同配置的Android手机又有区别。对于应用开发者,则需要适配尽可能多的机型。

下面一起回顾这部Android甜点家族版本的演进史,见表2-1。表2-1 Android版本演进史

试读结束[说明:试读内容隐藏了图片]

下载完整电子书


相关推荐

最新文章


© 2020 txtepub下载