版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第九章移动终端和移动操作系统移动商务的发展有赖于移动终端和移动操作系统的不断发展与更新,几乎任何移动商务活动都离不开移动终端,尤其是智能手机。本章除了介绍几种智能手机及操作系统以外,同时还简要介绍了J2ME、SymbianC++、Androidjava等移动终端开发平台。其中,操作系统包括了Symbian、WindowsMobile、Android、iphone等目前的主流操作系统。最后一节给出了Android平台的开发实例,因为Android系统是近几年的新兴移动终端操作系统,其良好的开源性使得它开始引起人们的注意,而且越来越多的人拿它与Symbian比较,这足以说明其巨大的发展潜力。9.1智能手机和PDA9.1.1智能手机市场智能手机的概念什么是智能手机,说通俗一点就是一个简单的“1+1=”的公式,“掌上电脑+手机=智能手机”。从广义上说,智能手机除了具备手机的通话功能外,还具备了PDA的大部分功能,特别是个人信息管理以及基于无线数据通信的浏览器和电子邮件功能。智能手机为用户提供了足够的屏幕尺寸和带宽,既方便随身携带,又为软件运行和内容服务提供了广阔的舞台,很多增值业务可以就此展开,如:股票、新闻、天气、交通、商品、应用程序下载、音乐图片下载等等。融合3C(Computer、Communication、Comsumer)的智能手机必将成为未来手机发展的新方向。智能手机必备条件具备普通手机的全部功能,能够进行正常的通话,发短信等手机应用。具备无线接入互联网的能力,即需要支持GSM网络下的GPRS或者CDMA网络下的CDMA1X或者3G网络。具备PDA的功能,包括PIM(个人信息管理),日程记事,任务安排,多媒体应用,浏览网页。具备一个具有开放性的操作系统,在这个操作系统平台上,可以安装更多的应用程序,从而使智能手机的功能可以得到无限的扩充。智能手机市场下面是分别是2008、2009年第三季度全球智能手机制造商市场份额的分析饼图:
2008年第三季度全球智能手机制造商
市场份额(%)■诺基亚RIM■苹果HTC■富士通■其它2009年第三季度全球智能手机制造商
市场份额(%)■诺基亚RIM■苹果HTC■富士通■其它报告显示,这一季度的全球智能手机市场份额中,诺基亚、RIM、苹果、HTC四家主要的厂商占据了超过80%的市场份额。其中,诺基亚在智能手机领域仍然占据着统治地位,而RIM的和苹果继续维持前三的位置。下面是2008、2009年第三季度全球智能手机操作系统市场份额的分析饼图:
2008年第三季度全球智能手机操作系统市场份额(%)SymbianRIMAppleMicrosoftGoogle(Andriod)■其它3.53.22009年第三季度全球智能手机操作系统市场份额(%)3.53.2SymbianRIMAppleMicrosoftGoogle(Android)■其它从操作系统来看,尽管略有下滑,但诺基亚的Symbian仍然以46.2%的份额领跑,接下来是RIM的BlackBerryOS和苹果iPhone的MacOSx,而微软的WindowsMobile操作系统在智能手机领域的市场份额持续萎缩。新兴的GoogleAndroid操作系统则继续强势增长,制造商的积极响应使得其市场份额已经达到了3.5%。下一节我们着重介绍Symbian、WindowsMobile、Android、iPhone和BlackBerry这几个操作系统。Symbian1.Symbian操作系统简介Symbian由摩托罗拉、西门子、诺基亚等几家大型移动通讯设备商共同出资组建的一个合资公司,专门研发手机操作系统。而Symbian操作系统的前身是EPOC,而EPOC是ElectronicPieceofCheese取第一个字母而来的,其原意为"使用电子产品时可以像吃乳酪一样简单",这就是它在设计时所坚持的理念。Symbian是一个实时性、多任务的纯32位操作系统,具有功耗低、内存占用少等特点,非常适合手机等移动设备使用,经过不断完善,可以支持GPRS、蓝芽、SyncML、以及3G技术。最重要的是它是一个标准化的开放式平台,任何人都可以为支持Symbian的设备开发软件。与微软产品不同的是,Symbian将移动设备的通用技术,也就是操作系统的内核,与图形用户界面技术分开,能很好的适应不同方式输入的平台,也可以使厂商可以为自己的产品制作更加友好的操作界面,符合个性化的潮流,这也是用户能见到不同样子的symbian系统的主要原因。现在为这个平台开发的java程序已经开始在互联网上盛行。用户可以通过安装这些软件,扩展手机功能。在Symbian发展阶段,出现了三个分支:分别是Crystal、Pearl和Quarz。前两个主要针对通讯器市场,也是出现在手机上最多的,是今后智能手机操作系统的主力军。Symbian按版本来分,继2005年二月Symbian推出一款新的手机操作系统软件OSv9.0,到目前为止已先后有了6.0、6.1、7.0、7.0s、8.0、9.0几种版本。S40、S60、S80、S90简介Series60是智能手机中应用最广泛的系统版本。Series60系统还分为6.0OS、7.0OS和8.0OS三个版本。区别Series60的最直观因素在于屏幕的分辨率,Series60支持的分辨率为176*208像素,但以后S60还会支持240*320像素、352*416像素等。S60是拥有最多第三方软件或游戏的界面。识别Series80界面最简单的办法就是看手机是否支持全键盘,例如诺基亚高端系列的9210、9300甚至9500,都采用全键盘的。识别Series90的最简便方法是:会采用触摸屏幕,分辨率也高达640*320像素。Series90应该是手机游戏、娱乐的最强平台,但因为采用Series90界面的手机型号太少,第三方软件的支持很少,所以S60依旧是玩家首选。S40或S60是指诺基亚手机的上层平台。S60都是智能手机,所用底层操作系统是Symbian。诺基亚128*128屏幕都是S401.0。而128*160是S402.0。S40与S60、S60与S80的比较S40中,3100支持javaMIDP1.0,所以最大支持64KB的java;6230支持javaMIDP2.0,所以最大支持128KB的java40和60,包括90,还有以前的30,都是针对与nokia不同的操作系统而言40,是nokia自行研制的手机操作系统,面对于中低端客户,支持kjava的开发,其处理器效率不高,内存偏低,屏幕大小128*128。S60,是基于Symbian操作系统,也就是以前的epoc,其处理器为arm9,处理效率很高,内存颇大,屏幕大小为208*176同时支持kjava和C++的开发90,属于手持式设备,也是Symbian操作系统但是功能强劲,等同于一个PDA了。其实技术来上说,S40跟S60是区别在系统平台上,就好像WIN98跟WIN2000,但手机不像PC,屏幕大小的确是个关口,以致于平台不容易做到向下兼容,但有的游戏也同样做出不同版本来的。当然啦,S40比S60不单单是屏幕上的差距,更大的是性能上的差距,一般来说,S60开发出来的游戏质量都比S40高好多,但可惜,S60比S40的机子又贵上了很多啊.在很多网站上,一些对Symbian不是很了解的人们都以为Series60和Series80是不同的Symbian操作系统版本。于是就出现了比较混乱的称呼。比如:“Series60操作系统”和“Symbian80操作系统”的笑话。其实,Symbian操作系统是Symbian公司开发的手机操作系统,它是一个独立于手机硬件的操作系统,而且它是一个开放的平台。这一点有点像Linux,市面上常见的有红帽等用户界面,但是它们都是在Linux系统下开发出来的,不过界面有些不同罢了。所以,很多手机制造厂商在自己公司所生产的手机上做了些界面上的修改,于是就出现了S60,S80等名称。但是它们不是操作系统,而是在以操作系统为基础而开发出来的用户使用界面平台。2.Symbian正面临巨大的困境由于诺基亚一直将Symbian作为其智能手机产品的唯一操作系统,Symbian在多年来一直在手机操作系统市场领先,目前,Symbian仍旧占据了智能手机操作市场近一半的份额。但近年来,Symbian的市场份额下滑严重,并且这一趋势仍在延续。市场研究机构ABI在2007年发布的数据显示,2006年Symbian在智能手机的份额达到73%;但ABI当时就预测,到2012年,Symbian的份额将降至46%。目前看来,Symbian的下滑势头已经远远超过了分析师的预计。Symbian操作系统丢失市场份额,一方面是因为除诺基亚之外,其他厂商基本放弃了这一操作系统。目前,仅三星和索尼爱立信仍有S60V5平台的产品,摩托罗拉、LG已经淡出Symbiano另一方面,也是最主要的,和新兴的操作系统如iPhone、Android相比,Symbian在用户体验方面已经落后,这使得其产品缺乏竞争力。而诺基亚最新推出Maemo平台的产品也表明,诺基亚对于Symbian在高端市场的竞争力提升并无信心。不过,在中低端领域,Symbian仍然具有一定的优势。Symbian产品对硬件配置要求并不高,其在中低端领域的产品众多,由于价格相对低廉,并且易用性较高,Symbian仍将会受到中低端用户青睐。另外,由于诺基亚仍然占据全球最高的市场份额,因此OVI商店对于软件开发者来说,也具有不小的吸引力。因此,在未来Symbian操作系统的市场份额仍然可能继续降低,不过,在中低端领域,它依旧会是市场的主流,短期内并不会改变。但在高端手机市场,RIM、苹果等正在蚕食Symbian的市场份额。WindowsMobile1.WindowsMobile操作系统简介WindowsCE是微软为嵌入式设备打造的通用操作系统,是开放的、可裁剪的、32位的实时嵌入式窗口操作系统。具有可靠性好、实时性高、内核体积小的特点,被广泛用于各种嵌入式智能设备的开发。并具有丰富的BSP和驱动程序支持。WindowsMobile是针对SmartPhone和PocketPC的专业市场,在WindowsCE通用平台基础上专门定制产品。WindowsMobile将熟悉的Windows桌面扩展到了个人设备中,底层采用和WindowsCE完全相同的二进制代码,内置一系列WindowsMobile产品和多媒体应用,如MobileOffice、WMPlayerMobile,而且使用的是单独的开发包AdaptationKit(AK)。WindowsMobile系列操作系统主要包括PocketPC、SmartPhoneo2.WindowsMobile面临的困境作为最早涉足手机产品的操作系统之一,WindowsMobile曾经在智能手机操作系统市场上占据重要的地位和较高的市场份额。然而数据显示,PC操作系统市场上呼风唤雨的微软在手机领域并不如意,2009第三季度WindowsMobile在手机操作系统市场占有率不足9%,同比跌幅达到了33%,下滑速度惊人。相比其他智能手机操作系统,WindowsMobile的缺点在于,其操控显得更复杂,相对于手机功能,WM产品更偏重于PDA功能。比起iPhone、Android等产品,同样采用触摸屏操作的WindowsMobile手机在操控体验方面差距明显。最新的WindowsMobile6.5已经有所改进,但仍不尽如人意,而且这一系统发布过晚,也是Windows丧失市场份额的原因。不过,预计明年推出的WindowsMobile7可能是微软反击的机会,目前曝光的信息显示,这一新的手机操作系统的规格和界面相当华丽,触控也更加人性化。就像Vista遭到失败而Windows7大受欢迎一样,WM6.5只是一个过渡,微软在智能手机操作系统或许并不会就此坠落。AndroidAndroid简介Android是Google于07年11月5日宣布的基于Linux平台开源手机操作系统名称,该平台由操作系统、中间件、用户界面和应用软件组成,号称是首个为移动终端打造的真正开放和完整的移动软件。Android是Google开发的基于Linux平台的开源手机操作系统,它包括操作系统、用户界面和应用程序一一移动电话工作所需的全部软件,而且不存在任何以往阻碍移动产业创新的专有权障碍,Android采用软件堆层(SoftwareStack,又名软件叠层)的架构,主要分为三部分。底层以Linux内核工作为基础,由C语言开发,只提供基本功能;中间层包括函数库Library和虚拟机VirtualMachine,由C++开发。最上层是各种应用软件,包括通话程序,短信程序等,应用软件则由各公司自行开发,以Java作为编写程序的一部分。谷歌与开放手机联盟合作开发了Android,这个联盟由包括中国移动、摩托罗拉、高通、宏达和T-Mobile在内的34家技术和无线应用的领军企业组成。通过与运营商、设备制造商、开发商和其他有关各方结成深层次的合作伙伴关系,我们希望借助建立标准化、开放式的移动电话软件平台,在移动产业内形成一个开放式的生态系统。我们认为此举必将推进更好、更快的创新,为移动用户提供不可预知的应用和服务。Android作为谷歌企业战略的重要组成部分,将进一步推进”随时随地为每个人提供信息”这一企业目标的实现。我们发现,全球为数众多的移动电话用户从未使用过任何基于Android的电话。谷歌的目标是让(移动通讯)不依赖于设备甚至平台。出于这个目的,Android将补充,而不会替代谷歌长期以来奉行的移动发展战略:通过与全球各地的手机制造商和移动运营商结成合作伙伴,开发既有用又有吸引力的移动服务,并推广这些产品。Android架构下方图表显示了Android操作系统的主要组件。
APFLICATinNSHomeCflntMttPhOFUlBrawsftrApplicationFrameworkAetivi^NWiJtr1wssMinjgerProvdersSystemMau庠r^cka^eMfepfiorr,M?magcrReiounccManagerLrauonMinngtrXMfTService_JLIBRARIESanordioRuntimeiSQlitflCopeLibrariesMd.aCpcnGLItSFretType'AfebKrMachticlibcLinukKernelCameraDrjvsrDriverRyfcMftni^ry
Driwrgi品or(IPQ
DriverUSBDriverKcypadDriverWiFiDrivtrAudio
Driversfewer
ManagementApplications(应用)Android将预装一组核心应用程序,包括emailCpcnGLItSFretType'AfebKrMachticlibcLinukKernelCameraDrjvsrDriverRyfcMftni^ry
Driwrgi品or(IPQ
DriverUSBDriverKcypadDriverWiFiDrivtrAudio
Driversfewer
ManagementApplicationFrameworks(应用框架)上文所提的核心应用程序就是依赖框架层次API开发的,程序员们当然也可以充分使用这些API。应用架构设计的初衷是:简化组件复用机制;任何应用都能发布自己的功能,这些功能又可以被任何其他应用使用(当然要受来自框架的强制安全规范的约束)。和复用机制相同,框架允许组件的更换。所有应用都是一组服务和系统,一般包含:一套丰富且可扩展的视图组件,含有lists,grids,textboxes,buttons,甚至嵌入的网络浏览器ContentProviders(内容提供器)使一个应用可以访问另外一个应用的数据(如联系人),或者使一个应用内部可以共享自身数据ResourceManager(资源管理器),提供对非编码资源一一例如本地化字符串、图形和布局文件一的访问通道NotificationManager(通告管理器),使应用在状态栏显示自定义的警报通知。ActivityManager(行动管理器)负责管理应用的生命周期,提供通用导航回退支持Libraries(库)Android包含一套C/C++库,Android系统的各式组件都在使用。这些功能通过Android应用框架暴露给开发人员。下面列举一些核心库:SystemClibrary-衍生于BSD的标准C系统库(libc)实现(注:BSD:BerkeleySoftwareDistribution,伯克利软件套件,是Unix的衍生系统,1970年代由伯克利加州大学开创),尤其支持嵌入式的基于Linux的设备。MediaLibraries-媒体库基于PacketVideo'sOpenCORE;媒体库支持很多流行音频和视频格式、静态图形文件(包括MPEG4,H.264,MP3,AAC,AMR,JPG,andPNG)的播放和录制SurfaceManager-管理范围:对子系统显示功能的访问,跨应用的无缝组合2D和2D图形层LibWebCore-是流行的浏览器引擎,可以支持Android浏览器和嵌入应用的WEB视图组件SGL-底层的2D图形引擎3Dlibraries-基于OpenGLES1.0API的实现;该类库使用硬件3D加速器(如果硬件支持的话)或者内置的、高度优化的3D软件加速机制。FreeType-支持位图和矢量字体SQLite-能干、轻量级的关系型数据库引擎,面向所有应用AndroidRuntime(Android运行时)Android的核心类库提供Java类库所提供的绝大部分功能。每个Android应用都运行在自己的进程上,享有Dalvik虚拟机为它分配的专有实例。为了支持多个虚拟机在同一个设备上高效运行,Dalvik被改写过。Dalvik虚拟机执行的是Dalvik格式的可执行文件(.dex)——该格式经过优化,以降低内存耗用到最低。Java编译器将Java源文件转为class文件,class文件又被内置的dx工具转化为dex格式文件,这种文件在Dalvik虚拟机上注册并运行。在一些底层功能一比如线程和低内存管理方面,Dalvik虚拟机是依赖Linux内核的。LinuxKernel(Linux内核)Android依赖Linux2.6版,提供核心系统服务:安全、内存管理、进程管理、网络组、驱动模型。内核部分还相当于一个介于硬件层和系统中其他软件组之间的一个抽象层次。Android的发展前景Symbian、微软在智能手机操作系统市场的不利,对于新加入竞争的谷歌而言则是大好的机会。谷歌主导的Android操作系统已经显示出很强的势头。在搭载这一操作系统的手机上市一年之内,Android的份额已经达到了3.5%。由于诸如摩托罗拉等厂商新近加入,Android仍有不小的潜力。作为一个后来者,Android操作系统借鉴了成功者的经验。对于使用者来讲,Android手机能带来不错的用户体验,其触控操作和iPhone相似。类似诺基亚和苹果模式的程序商店,不仅吸引了开发者为其开发程序,也让操作系统本身对用户更具吸引力。另外,由于Android是一个完全开源的操作系统,对于运营商而言,很容易在其中添加自己的服务,加上Android手机在互联网应用方面的优势,Android手机很受运营商欢迎。中国移动正大力推广的Ophone,就是Android操作系统的一个变种。不过,WindowsMobile的复兴和Android的扩张也都并非易事,除了原有的Symbian、RIM、iPhone等对手,一些新的竞争者的加入,让这一领域的竞争更加激烈。iPhoneiPhone简介iPhone是苹果公司2007年1月9日和Cingular电信公司(美国第二大无线运营商)推出的一款手机。它有8GB内建容量,3.5寸,触摸屏幕自动调整光源,支持全屏播放,分辨率是320X480,1600万色。和iPod一样,iPhone用iTunes同步,不仅可以是音乐、图片,还可以是通讯簿、行事历、照片、记事、书签、电子邮件信箱……内建200万像素相机,有可以直接接驳普通耳机的3.5mm的接头,并自带喇叭,还有mic和iPod接头。所有这些功能,都集成在厚度只有11.6毫米的机身上,整机重量也不过135克。AppleiPhone结合多功能于一体,集网络、桌面级的电子邮件、网页浏览及地图搜索等功能。全新的用户界面基于一个大型综合触摸显示屏。此外,iPhone支持把手机贴近脸部的时候通过探测器自动关闭触摸功能,这样可以防止误操作。iPhone特色介绍Apple计算机一直以人性化与便利的接口着称,到了搭载MacOSx系统的iPhone,这些优点统统被发扬光大。iPhone的接口、操作、功能与概念全都是划时代设计。iPhone=手机Mac。用过Macintosh计算机,其接口的互动性、人性化与运作的速度感,令人留下深刻印象,与PC兼容性的差异也让人抛在脑后。AppleiPhone以其特有的MacOSx为操作系统,并且是专为手机而设,用户可以深深感受到MacOS的图像化影响。如MacOSx的功能按键,全部改成图像加少量文字,iPhone的接口也是一样,文字成份不到10%。iPhone最厉害之处是具备高逻辑性导向,如在待机画面有一个箭头图案,玩家很自然会把它在屏幕上用手指一推,这就是取消屏幕锁的方法;进入主目录,发觉整面是图案,最底下是iPhone的几大重点应用,包括电话、电子邮件、上网及iPod,按下之后,相关功能便显示出来,操作简单直觉。iPhone改变了智能手机市场格局相比老牌的RIM,苹果iPhoneOS更是只用了两年时间在智能手机操作系统中的份额就达到了18%,正是iPhone的出现带来了智能手机市场最大的变革。传统的智能手机操作系统提供商发现,一个真正强劲的对手出现了。iPhone最大的亮点在于其用户体验出色,革命性的触控设计对于消费者具有极大的吸引力。苹果最新款产品iPhone3GS仍在热销,而且和RIM一样,苹果仍在逐步扩展全球市场,其市场潜力仍然不容小视。更为重要的是,在应用程序开发方面,iPhone也已经走在了竞争对手的前列。自从去年AppStore推出以来,针对iPhone平台的第三方应用程序的数量已经超过了5万个,累计下载量超过了10亿次!对于采用独立操作系统的智能手机而言,应用程序的数量和质量对产品的推动作用是巨大的。这无疑成为苹果的一个先发优势。因此,对于苹果iPhone来说,由于其产品的独特性,毫无疑问,它在竞争愈发激烈的智能手机操作系统领域中总会有属于自己的一席之地,并不断向Symbian等传统操作系统发起挑战。BlackBerryBlackBerry简介BlackBerry操作系统是黑莓独有的操作系统,黑莓BlackBerry是美国市场占有率第一的智能手机,这得益于它的制造商RIM(ResearchinMotion)较早地进入移动市场并且开发出适应美国市场的邮件系统。大家都知道BlackBerry的经典设计就是宽大的屏幕和便于输入的QWERTY键盘,所以BlackBerry一直是移动电邮的巨无霸。正因为是正统的商务机,所以它在多媒体播放方面的功能非常孱弱,也许它在未来应该着力改善这个弱点,因为手机功能的整合是大势所趋,人们不会只满足于单一的功能。BlackBerry开始于1998年,RIM的品牌战略顾问认为,无线电子邮件接收器挤在一起的小小的标准英文黑色键盘,看起来像是草莓表面的一粒粒种子,就起了这么一个有趣的名字。应该说,Blackberry与桌面PC同步堪称完美,它可以自动把你Outlook邮件转寄到Blackberry中,不过在你用Blackberry发邮件时,它会自动在邮件结尾加上此邮件由Blackberry发出字样。BlackBerry在美国之外的影响微乎其微,我国最近已经在广州开始与RIM合作进行移动电邮的推广试验,不过目前看来收效甚微。大家都知道,我国对于电子邮件的依赖并不像美国人那么强,他们在电子邮件里讨论工作、安排日程,而我们则更倾向于当面交谈。可以说BlackBerry在中国的影响几乎为零,除了它那经典的外形。BlackBerry凭借邮件服务优势扩展市场近年来,RIM的BlackBerry和苹果的iPhone不断蚕食Symbian市场份额。其中,RIM凭借着BlackBerry新款手机的热卖,RIM在全球智能手机的市场占有率大幅提升,而它自有的操作系统所占据的份额自然也水涨船高。和其他操作系统不同,BlackBerry手机最大的特色在于黑莓邮件服务,这使得它在企业用户领域具有独特的优势。当然,RIM的最新产品对于个人用户来讲,也是非常出色的选择。而且,RIM也于今年开设自己的AppWorld程序商店来吸引更多用户,目前已经拥有超过3000款软件。RIM的市场主要集中在北美地区,不过IDC的统计显示,在拉美、中东以及欧洲市场,RIM手机的销量也在逐年提升,其市场已经逐渐向全球扩张。有消息称,中国电信也将和RIM合作引入多款BlackBerry手机,在亚太市场,RIM依然有市场潜力待开发。9.1.7未来手机终端趋势手机的发展趋势一一智能化2009年全球手机业出现负增长,但是智能手机今年的销售量将超过1.9亿部,比去年增长11.1%。据市场研究公司StrategyAnalytics称,在运营商、厂商和开发商推动应用的大力支持下,2009年运行Android操作系统的智能手机出货量将增长900%,苹果iPhone操作系统将是2009年增长速度第二快的智能手机操作系统,增长率将达到79%。从中可以看出,随着智能手机价格的进一步下降,用户将对智能手机的需求大大增强,智能手机将是未来手机发展的主要方向。未来手机的处理速度将进一步提高,手机的功能更多样化与个性化,手机屏幕将更大、色彩更加炫丽,手机音质也更好。[1]同时,各种不同类型的传感器的使用,手机将会更智能的判断手机的所处的环境信息,所有这些技术的利用都极大的提高了手机的用户体验。随着移动通信技术的快速发展,无线网络带宽越来越大,通信质量越来越好,安全性得到更大的提高,手机应用将会得到更加蓬勃的发展,移动互联网业务更催生了手机与PC的融合,这也将会影响未来手机界面发展。当前手机界面的现状当前的手机根据交互的形式可以分为触摸屏手机与键盘手机。两者在交互和界面设计上存在着较大的差异。苹果公司于2007年推出的iPhone手机引领了这几年的触摸屏手机市场,当前各大公司推出的手机多在追逐或者延伸iPhone的触摸交互设计方案。在iPhone推出的同时,Nokia公司推出了N95系列(12键键盘)、E71系列(QWERT键盘),这些手机做为键盘机的标志产品是延续了Nokia的易用性的产品特性,同时在此基础上大大提高了其配置。虽然很多优秀的公司都推出了许多别具特色的手机,如Blackberry系歹U,oPhone手机等,但所有的手机都是在现有的交互范式内完成所有的功能,即使是既带键盘又是触摸屏的手机也只不过是两种普通交互范式的整合,没有跳出现有的设计思路。人机界面相关的技术发展趋势为了更有效地在人机之间传递信息,一些新型的交互技术和设备逐步成熟,如语音、手写、手势、3D交互、鼠标、数据衣、数据手套、头盔以及人机之间的传感设备。这些新的交互技术在手机上的使用发展了手机交互的带宽,突破了人与手机交互的基本障碍,构造了更和谐的人机环境。由iPhone手机的开发也可以看出,许多新颖的体验是由新的技术创新完成的。在下面内容,我们将讨论几种最有可能影响我们未来手机界面发展的技术。(1)3D技术由于人生活在三维空间,习惯于看、听和操纵三维的客观对象,人类都是生活在三维的现实情景中,三维的交互对人类来说是自然的方式。因此,三维的人机交互界面是未来发展界面发展的方向之一。3D交互技术是为了克服传统交互的2D限制而发展起来的,其目的是在人机之间构造一种自然直观的三维交互环境,将在现实世界中人与环境交互作用的经验尽可能直接移植到人机环境中,并在人机环境中获得类似于或相同于现实世界中交互的真实三维感受,消除人被动地去适应系统界面所带来的认知负担,增加人机交互的整体效率。(2)各种识别技术1)手势识别手势是人手或者手和臂结合所产生的各种姿势,手势蕴含着丰富的信息,通过手势可以传达大量的信息,实现高速通信。大部分的任务利用手势可以很自然地实现,提供一种可视化的交互方式.但是对某些命令还是难以用手势的形式来表达,使得手势和目标语义表达之间存在差距,并且语义表达是否真正符合用户的意图也不容易判断,设计不好手势的往往会误导用户,影响了功能和可用性。[2][3]触屏手机通过对手指划动屏幕的手势进行识别,来完成与手机的交互。但是由于识别技术的限制,可用的手势种类不多,随着其他计算视觉等技术在手机上的成熟运用,则手势识别会有更大的发展。2)语音识别语音识别是较早就进行的一种自然交互技术,语音拨号、语音命令控制、简单的数据输入等工具已经开始在手机中使用。利用语音识别技术,用户通过语音输入来拓宽手机输入的窄道,而语音的信息反馈则使用户可以使用除视觉之外的第二感觉通道来接收信息。但是由于手机使用场景非常复杂,而语音识别的性能受到说话方式、环境噪音、不同的说话人同时在场等因素的显著影响,因此语音识别技术在手机中的广泛使用还有需要技术问题需要解决。3)表情识别人的各种情绪变化以及对冷热的感觉都是非常复杂的高级神经运动,如何感知、记录、识别这些变化过程是表情识别的关键。产品或者计算机对于面部表情的识别主要体现在跟踪面部表情、对不同的表情进行编码以及识别面部表情。未来在手机中使用表情识别技术,使手机能更进一步了解人的情绪状态,从而能更和谐的完成与人的交互。(3)各种传感器技术MEMS(MicroElectricalMechanicalSystem)微电子机械系统技术的发展将使传感器的使用变得无处不在[4]。同时,集成了传感器、微机电系统和网络三大技术而形成的传感器网络是一种全新的信息获取和处理技术,不仅可以帮助手机检测手机所处的各种状态,同时可以和其他设备进行交互,极大的拓展相关的业务。(4)虚拟现实技术虚拟现实交互技术融合了数字图像处理、多媒体技术、计算机图形学、传感器技术等多方面信息技术,它是利用计算机生成一种虚拟环境,通过各种传感设备使操作者''沉浸〃到该环境中,实现操作者和该环境直接进行自然交互。[5]它是以计算机技术为核心的技术,生成逼真的视、听、触觉一体化的特定范围的虚拟环境,用户借助必要的设备以自然的方式与虚拟环境中的对象进行交换作用、相互影响,从而产生等同于真实环境的感受和体验。虚拟现实技术将在未来的3D手机游戏、3D场景中浏览信息时,表现的更真实、有更好的用户体验。[6](5)计算视觉随着处理器速度和内存容量的指数级增长,计算机视觉的研究和应用得到迅速的发展。[7]它的发展将对手势识别、表情识别等交互范式的应用有着重要的意义。如果在手机中使用计算机视觉技术,将能让手机更自然的进行交互,同时也能更好的方便以手势交流的盲人等残疾人士更好的使用手机。(6)无线通信技术本身的助力3G、LTE等更高级的技术将会使未来的无线带宽达到甚至超过现有的固网带宽,这将使手机的应用进一步多样化。同时,机器对机器的交互在不久的将来会给交互的范式带来更大的影响。NFC等近距离通讯方式的普及使用,都将要求手机能有更自然的人机交互方式,未来的手机概念也因此得到改变,无处不在的计算将使得界面无处不在。无处不在的界面将会是未来的发展方向之一。移动互联网对手持界面设计的影响移动互联网是当前的热点话题,它是指通过手机、PDA等手持设备来访问Internet网络的。然而通过移动设备来访问互联网与传统互联网有很大的不同,不仅可以处在安静环境也可能在嘈杂的环境中;用户周边的环境(包括其他的人员)都会极大的干扰用户,使用户随时转移注意力;与PC相比,还有屏幕大小及输入功能的限制。在移动互联网中,不仅包括在手机设备上的浏览内容,也包括物理浏览,即通过物理世界中的对象来访问Internet内容,例如像RFID、NFC等,不仅仅局限于当前的屏幕界面交互。随着无线带宽的加大,手持设备性能进一步的增强,都会无线互联网业务的发展提供了硬件条件。苹果AppStore、谷歌的applicationmarket等为代表的手机应用平台更将无线应用的爆发创造了最有利用的条件。五花八门的应用和有创造力的程序员也为创新界面带来了新的活力,他们必然会突破各个平台的基本框架,开发出超想象的应用界面,这也会引领界面的新变革。从各平台的应用界面可以看出,未来的手机界面将会朝着更智能、更逼真、更灵活的方式设计。手机界面发展的未来不管未来手机的外观形态如何,手机的交互界面将会朝着以下的几个方面前进。(1)自适应的人机界面随着技术的进一步发展,未来的手机将可以判断用户使用它的各种场景,并针对场景进行自然的反馈。手机定位信息、传感器技术、无处不在的计算等技术的发展,使我们能对手机当前的使用环境有更精确的认识。定位信息使我们能知道用户当前的位置,通过位置信息将可以得到用户的基本场景。再通过各种传感器信息,读取当时环境的声音、温度、湿度、亮度等各种环境信息,手机将能精确的判断所处的环境,然后针对当前的环境信息,进行自动的情景适应;在通过对各种情景的判断,提出适当的用户想要的服务,满足用户的需求。无处不在的计算网络使手机作为整个网络上的一个节点,可以和其他的设备进行自动交互,未来的很多交互都是有手机自动发起,但又是用户正需要做这些操作。(2)自然的人机的界面未来的手机界面将不再局限于几口寸的设备屏幕中,无处不在的计算概念将会引发界面的新革命。界面的高级形式将是用户在完成任务的过程中,只是体验到完成任务的美好感觉,而不需要感知到界面的存在,界面只是一个完成任务的载体。设备或者界面存在的主要功能是延展人的认知局限性(如计算速度、记忆能力与容量等),并在不增加人的认知负荷的基础上,协助人们完成各种任务。当前的许多研究人员都在尝试着最新的界面形式,例如,PaulHolleis等人就服饰的电容触摸输入展开了研究,认为这将是未来移动用户界面的发展方向之一,并在各种服饰上开展了电容触摸输入的可行性研究,并模拟测试这种交互形式的可用性,提出了用户体验设计的指南。各种快捷的移动搜索技术及云的概念,都增加了未来用户使用的方便性。(3)基于多通道的手机交互界面在日常生活,与只通过电话的交流相比,用户喜欢表现更丰富的面对面交流。[8]因为
在面对面的交流中,除了语音的信息,还传递了各种不同的感觉通道的信息,如面部表情所带的各种情绪信息等。多通道交互模式是指在界面中使用两种或者多种的输入、输出模式,如语音、笔、触摸、手势、注视等结合的交互形式。[9]由于手持设备屏幕小、输入效率低下、精确选择困难等固有问题的存在,使用户在操作的过程中严重增加了其认知负荷,从而容易导致用户的急躁、厌烦心理。当手持设备的交互模式采用多通道的方式时,可以弥补手持设备的缺陷,提高交互的效率和自然性。SharonOviatt等在手持设备上采用了基于自适应听觉界面的多通道的交互模式,发现它将能更有效、更灵活的与用户进行交互,它将是为了移动设备交互设计的重要方向。(4)其他一些传统界面的延伸创新1)双屏幕手持设备早在1987年,DynaBook就展望了未来的双屏幕的技术,但是后续的研究者没有进行更多的实用性的开发。KenHinckley等在09年的研究中,让我们又看到了双屏显示的新型交互方式,它的实行可对当前的交互方式产生较大的影响。在他们的研究中,提出通过双屏幕可以支持信息显示与任务操作明确分工的交互技术,它将能更流畅的体验交互的乐趣而不被来回切换所打断。他们把双屏幕隐喻成''书〃,根据''书〃的日常使用情况,设计了双屏幕的手势交互方式,根据双屏幕的空间关系,特别是双屏Fljt:ClororTwcUoErs-Fljt:ClororTwcUoErs-tNo-carncrFacr>bo-rji:dFlitMUTUALeOMCAVE■-KqJQlxsdffl口wpEffl—l6.总结未来手机的发展将受到无线通信技术、人机界面技术及移动互联网技术的快速发展而产生广泛影响,且由于上网本、智能手机的发展,手机界面与其它手持设备的融合趋势更加明显,手机的概念进一步模糊。手机界面的发展趋势将会以更加自然、多通道结合的方式展现出来。9.2移动终端开发平台分析移动终端开发平台市场目前,手机可分为智能手机和featherphone手机。开发平台可分为开放式平台和封闭式平台,开放式平台包括Symbian、WindowsMobile、Linux、iPhone、Android、BlackBerry、J2ME、BREW等,支持手机应用程序通过OTA下载和安装;封闭式平台包括MTK、展讯、TI、飞利浦等。其中,我们将在本节中介绍而且比较流行的移动终端开发平台是J2ME、Symbian、Android。J2MEJ2ME就是Java2microEdition的缩写,是sun的java2的三大成员之一(J2SE,J2EE,J2ME)。专门用于开发消费性电子产品,例如手机,PDA等。J2ME平台体系结构J2ME并不是一种产品,而是一种技术,J2ME包括两种类型的组件,即配置(configuration)和简表(profile)o配置(configuration是一系列低层次的API(应用编程接口)和一种为该族设备优化的虚拟机。今天在用的一般配置有两种,连接的设备配置(CDC)和限制连接的设备配置(CLDC)oCDC提供了一种虚拟机,以及支持像灵敏发报机、寻呼机、个人数字助理(PDA)和电视机顶盒这样的设备上的Java应用的基类库。这些设备的典型特征是具有一个32位的处理器和用来支持虚拟机和类库的超过2MB存储容量。CVM虚拟机正好满足了它们对于Java2虚拟机特征集的功能需求。这是在小型平台上全特征的虚拟机。CLDC提供一个适合于小型的、资源受限的、连接的设备上使用的标准Java平台。这些设备的典型特征是具有一个16位或者32位的处理器和用来支持虚拟机和类库的160KB到512KB的总内存,它们通常以电池作为电源,并联入某类网络中,联网一般使用带宽时常小于9600bps的无线的、断断续续的连接方式。CLDC的核心是K虚拟机(KVM)。“K”标记反映了它们的大小是以kilobytes(千字节)衡量的这一事实。CLDC的特征也是包含一系列类库。CDC的硬件参数:-2M以上内存。•具有网络连接能力,通常为无线网络。•需要实现java虚拟机规范的全部功能。・32位或者64位的处理器。CLDC的硬件参数:512KB以下内存•有限能源供应(通常使用电池)•有限或非持续网络连接•简单的用户界面16位或者32位的处理器从上述的标准中我们不难看出CLDC主要针对那些资源非常受限的设备比如手机、PDA、双工寻呼机等。而CDC主要面对那些家电产品,比如机顶盒、汽车导航系统等。简表是以配置为基础的,例如MobileInformationDevicesProfile(MIDP)就是CLDC上层的重要简表。与配置的纵向特性不同的是,简表是横向的。下图是J2ME体系结构的框图:OptionalPackagesCenfigmatioaisJavaVirtualMachinesHostOperatingSystemJ2ME体系结构框图简表(profile是一种说明,它详细描述了架构在配置之上并使用配置的一系列API。简表的一个例子是创建在CDC之上的基础描述(FoundationProfile),它为以像住宅网关、灵敏电话和双向寻呼机这样的设备为目标的应用提供完整的J2ME运行时环境。另一种简表是移动信息设备描述(MIDP),它构建在CLDC之上,为那些运行在像移动电话和登录级PDA这样的设备上的应用提供完整的J2ME运行时环境。MIDP致力于解决像用户界面、持久存储、联网和应用程序生命周期这样的问题。J2ME目标设备使用CLDC开发的J2ME应用程序的目标设备通常具有以下特征:•可供Java平台使用的160到512千字节的总内存•功率有限,常常是电池供电•网络连通性,常常是无线的、不一致的连接并且带宽有限•用户接口混乱,程度参差不齐;有时根本就没有接口一些CLDC支持的设备,包括无线电话、寻呼机、主流个人数字助手(/pda/PDA),以及小型零售支付终端。依照SunMicrosystems,CDC的目标设备通常具有以下特征:-使用32位处理器-2兆字节或更多可供Java平台使用的总内存-设备要求的Java2“蓝皮书”虚拟机的全部功能-网络连通性,常常是无线的、不一致的连接并且带宽有限-用户接口混乱,程度参差不齐;有时根本就没有接口一些CDC支持的设备,包括常驻网关、智能电话和通讯器、PDA、管理器、家用电器、销售网点终端以及汽车导航系统。J2ME高级开发工具高级的MIDP应用程序开发工具能够帮助开发人员简化J2ME开发过程,包括Sun提供的官方开发工具WTK和手机厂商提供的专属SDK。J2MEWirelessToolkit:WTK的全称是SunJ2MEWirelessToolkit——Sun的无线开发工具包。这一工具包的设计目的是为了帮助开发人员简化j2me的开发过程。该工具箱包含了完整的生成工具、实用程序以及设备仿真器。WTK2.5(最新)手机厂商SDK:目前各大手机厂商往往把WTK经过自身的简化与改装,推出适合自身产品:SonyEricssonJ2MESDK2.2.1MotorolaJ2MESDK5.1.2NokiaJ2MESDK3.0SamsungJ2MESDKJ2ME集成开发工具市场上存在多种J2ME平台,针对如此多样化的环境,各家厂商都会推出属于自己的开发工具。针对这种情况,工具厂商提供了集成开发工具,让开发人员可以在统一环境下,随时抽换开发时或测试时所使用的底层开发工具。包括:Eclipse:Eclipse是一个开发源代码的、基于java的可扩展开发平台。Eclipse本身只是一个框架和一组响应的服务,并不能够开发什么程序。在Eclipse中几乎每样东西都是插件,实际上正是运行在Eclipse平台上的种种插件提供我们开发程序的各种功能。同时各个领域的开发人员通过开发插件,可以构建与Eclipse环境无缝集成的工具。EclipseME作为Eclipse一个插件,致力于帮助开发者开发J2ME应用程序。EclipseME并不为开发者提供无线设备模拟器,而将各手机厂商的实用模拟器紧密连接到Eclipse开发环境中,为开发者提供一种无缝统一的集成开发环境。JBuilder:JBuilder是目前进行Java程序开发中使用较为广泛的开发工具。作为大厂商,Borland当然会为不同的开发人群设计更为全面和专业的IDE环境。作为J2ME应用开发,JBuilder是非常理想的开发环境,从第九版以后到现在的2005版,JBuilder都自带了MobileSet,它内附J2MEWirelessToolkit0若要开发基于各个手机厂商机型的应用程序,最好同时到各个厂商的developer站点(如NokiaForum、motocoder等)下载并在JBuilder中配置相关机型的SDK模拟器,这样可以使您的应用程序更好地适应相对应的真机机型。NetBeans:NetBeans是一套完全以Java撰写而成、并且开放原始码的开发工具。JavaStudioMicroEdition大致上是把NetBeansIDE和J2MEWirelessToolkit结合在一起的产品。可以方便J2ME应用程序的开发者更容易追踪问题与除错。SymbianC++Symbian平台介绍Symbian软件平台经历了3个不同时期。在Symbian公司成立之前,Symbian平台的前身是由Psion公司拥有的EPOC操作系统。之所以叫作“EPOC”这个词据说起源于世界将会进入“anewepochofpersonalconvenience”。Psion公司是欧洲当时主要的PDA厂商,但是推出的EPOC系统一开始就具备了外加应用程序的能力,以及在后期增加了无线通信的能力,使得这个32位操作系统具备实时性,多任务,多线程,低功耗,内存占用少的特点。1998年6月为了在将来的智能移动终端领域取得先机和市场地位。Psion公司联合手机业界巨头,诺基亚、爱立信、摩托罗拉和组建了Symbian公司。该公司继承了Psion公司EPOC操作系统软件的授权。到2008年Symbian的软件版本发展到9.5,同时可以支持S60,UIQ和MOAP三个UI界面。2008年6月24日Nokia宣布收购所剩Symbian公司的股份,同时诺基亚、索尼爱立信、摩托罗拉和NTTDOCOMO宣布将统一Symbian操作系统、S60、UIQ和MOAP(S),共同创建一个开放移动软件平台。携手产业中其它成员共同建立SymbianFoundation组织,Symbian平台从此开始了开源时代。今天的Symbian发展到今天Symbian平台给我们留下了什么?成熟:超过10年的开发经历,超过2.5亿台使用Symbian系统的手机统一:以后的Symbian平台将会是把Symbian操作系统,S60,UIQ和MOAP的精华集成在一个统一的平台中。透明开源:Foundation将以开源的形式继续维护Symbian平台,任何组织都可以成为会员从软件平台角度我们可以看到当前Symbian平台的规模4千万行代码(包括设备,工具和测试)45万个代码文件4万5千个代码目录100个以上的独立功能模块3层软件结构设计(内核层,服务层和应用层),覆盖14个技术领域这里需要指出的是,当前的Symbian平台不是仅仅包括OS内核和UI界面,它拥有的100多个独立的功能模块实现了安全,虚拟机,多媒体,连接等众多的功能,同时作为一个移动手机平台,它提供对通用移动规范的支持。Symbian系统平台已经实行开源并供免费下载2010年2月4日消息,据国外媒体报道,Symbian基金会(SymbianFoundation)宣布Symbian系统将从今天开始完全开源并供免费下载。该基金会表示Symbian是操作系统中的领导者,为全球超过3.3亿部智能手机提供支持,本次开源行为将是史上最盛大的,并将为手机系统开发者提供一个非常好的机会。Symbian开源可追溯至2008年,当时诺基亚收购了Symbian公司的大部分股权,之后创办了Symbian基金会,并在当年开始将Symbian部分开源。Symbian基金会的高管威廉姆斯(LeeWilliams)表示本次开源比其预定时间早了4个月,开发者通过本次开源将得到更多创新的途径,任何人都可以使用、修改Symbian的源码,并将其用于任何的电子移动设备上,不论手机还是平板电脑。威廉姆斯同时表示Symbian的开源与Android的开源有着非常大的区别,Android仅有三分之一的源码是公开的,并且全部都是中间件(middleware)。Android是谷歌研发的一个手机操作系统,手机厂家摩托罗拉和HTC均采用这个操作系统。同时,Symbian还将公开该系统的发展路线图以及所有将对系统进行的增改。任何人都可以对该路线图以及增改提出意见。AndroidJavaAndroid平台的构成Android软件平台主要由五部分构成,它们分别是:关键应用程序、应用程序框架和组件、C/C++函数库、Java程序运行环境、优化了的Linux内核。关键应用程序Android平台内包含一些关键应用程序,如邮件收发客户端程序、短信收发程序、日历、网页浏览器等,而更多有特色的Android应用程序还有待于广大开发者共同参与开发。应用程序框架及组件Android应用程序开发基于框架和组件。Android本身已在其框架中提供了许多组件应用程序调用,开发者也可以在开发应用程序时顺带开发新的组件,并将该组件放入应用程序框架中,以供自己和其它应用程序调用。C/C++函数库Android应用程序框架之下是一套C/C++函数库,它们服务于Android应用程序组件,其功能通过组件间接提供给开发者。这些函数库包括:标准C函数库、媒体功能库、浏览器引擎、2D和3D图形库及SQLite引擎等。Java程序运行环境Android的Java程序运行环境包含一组Java核心函数库及Dalvik虚拟机,它们有效地优化了Java程序的运行过程。Linux内核Android系统平台基于优化了的Linux内核,它提供诸如内存管理、进程管理、设备驱动等服务,同时也是手机软硬件的连接层。Android开发平台的配置和程序开发的基本组件Android平台为开发者提供了源码开放的软件开发包(SDK),它包含了使用Java语言开发Android平台应用的必要工具和组件(API)。进行开发前先要建立合适的开发环境,其中基于Java的整合型可扩展平台Eclipse是我们的首选。1搭建Eclipse开发环境[5]Eclipse的运行建立在JRE之上,因此必须先安装JRE。可以从下载JDK5或JDK6,然后按提示进行JDK的安装(假设安装路径为C:\jdk1.6.0_12);安装完成后,再配置环境变量:如在WindowsXP或Windows2000的操作系统中,可右键单击“我的电脑”,然后依次选择“属性”\"高级”'“环境变量”,在弹出的窗口的“系统变量”中找到“Path”环境变量,点击“编辑”按钮,在弹出的对话框中的“变量值”一栏输入JDK的安装路径(C:\jdk1.6.0_12\bin)即可,最后用同样的方法设置环境变量“Classpath”(.;C:\jdk1.6.0_12\lib\dt.jar;C:\jdk1.6.0_12\tool.jar),至此便完成了JDK的安装。有了Java运行环境,就可以下载EclipseZIP包,解压后就能直接运行Eclipse.exe。在Eclipse中安装一个名为ADT的Android开发工具插件,就可以使用SDK进行Android应用开发°ADT安装步骤:在Eclipse中依次选择Help>SoftwareUpdates>FindandInstall,在弹出的对话框中选择Searchfornewfeaturestoinstall并点击Next,选择NewRemoteSite,在结果对话框中为远端站点命名(如ADT),并在URL栏中输入/android/eclipse/,点击ok,随后ADT站点被添加到搜寻列表中,再点击Finish即可;在搜索结果对话框中选择ADT>EclipseIntegration>AndroidDevelopmentTools,单击Next,接受协议,点击Next和Finish;选择InstallAll,并重启Eclipse,ADT安装完成。ADT安装完毕后,还要配置Eclipse参数,使其指向SDK根目录,过程如下:在Eclipse中选择Window>Preferences打开参数设置面板,选择Android选项;在SDK路径中填入Android的安装路径,单击Apply和ok,完成参数设置。至此,就能在Eclipse环境下进行Android应用的开发了。2Android应用程序组件的使用Android应用程序以各种组件(API)为基础,API是Android软件平台的重要组成部分,也是开发Android应用的关键所在。下面介绍几种主要的AndroidAPI。当前活动程序Activity:作为最常用的应用程序组件,几乎所有Activity都会通过创建UI窗口与用户进行交流。Activity具有生命周期,它包含运行、暂停、停止等几个状态,状态间的转换可通过调用onCreate()、onStart()、onRestart()、onResume()、onFreeze()、onPause()、onStop()、onDestory()等方法来实现。要开启新的activity,可以调用startActivity(Intent),或调用startSubActivity(Intent,int),后者通常和onActivityResult(int,int,String,Bundle)联合使用,以从一个activity获取某结果并返回给打开它的activity。图像显示View:View是最基本的UI构件,它在屏幕中占据一个矩形区域可用来显示文本、图像等内容,还可完成图像事件处理。常用的View方法有:inflate()(由XML文件生成View)、onDraw(Canvas)(对View进行填充)、onMeasure(int,int)(测量View的高度和宽度)、onLayout()(完成View的布局)、onKeyDown(int,KeyEvent)(View中有按键操作时被调用)、onFocusChanged(boolean,int)(当View得到或失去关注时被调用)、setOnClilckListener()(设置View点击事件监听器)。View也包含一些子类,如:TextView(布局文件中的文本显示)、EditText(布局文件中的文本编辑)、Button(按钮)、ListView(显示列表)。事件Intent:Intent抽象描述了想要执行的某种操作,它与startActivity一起使用可以开启新的activity,与startService一起使用可以开启后台服务。Intent最重要的作用还是加载activity,它是不同activity间的桥梁。Intent也可以被认为是一种概括操作行为的数据结构,它主要包括action(动作)和data(数据)两部分,此外它还具有一些附加属性如category(intent种类)、type(数据类型)等。常用的Intent方法有intent()(构造intent)、addcategory()(添加intent类型)、getAction()(获取intent动作)、getData()(获取intent数据)等。数据存取与共享机制ContentProvider:ContentProvider可实现应用程序的数据存取及不同应用程序间的数据共享。ContentProvider为应用程序提供一些访问方法,包括:Query(Uri,String[],String,String口,String,String,String)(数据信息的查询),insert(Uri,Contentvalues)(在Contentprovider中添加新数据),updata(Uri,Contentvalues,String,String]])(更新Conntprovider中的数据),delect(Uri,String,String[])(删除数据),Gettype(Uri)(获取数据类型)。其中,Uri标明了ContentProvider存储的数据类型,在执行访问方法时都需依据Uri作为路径标识来确定要访问哪个ContentProvider。后台服务Service:Service是运行在后台的应用程序组件,不直接与用户交互。当前活动程序可以使用Context.StartService()开启一项后台服务,还可以通过Context.bindService()与后台服务通信。9.2.5各种终端开发平台比较移动开发平台实例介绍—Android9.3.1开发背景介绍Android手机应用程序开发需要着眼于它的整个体系构架,是一项复杂的工程。本节分析了Android体系的层次架构,并在此基础上介绍了Android应用程序开发的相关技术和基本的开发流程。Android平台具有极大的开放性和兼容性,相信广大开发者可以借助AndroidSDK提供的强大技术支持,开发出丰富多彩、极具个性的移动应用。9.3.2开发实例——电话簿电话薄是一项必不可少的手机终端应用,本文以此为例来说明基于Android应用程序开发的基本过程。1项目的创建首先,在Eclipse中依次选择File>New>AndroidProject,在弹出的“NewAndroidProject”对话框的Contents部分选择Createnewprojectinworkspace,在“Projectname”后输入工程名Contactnote,在“Packagename”后输入com.google.android.contactnote,在“Activityname”后输入Contactlist,在“Applicationname”后输入Contact,最后点击Finish,完成电话簿项目的创建。2项目源程序开发电话簿源程序主要功能模块框架如下:图1电话簿功能模块框架(1)构建数据存取和共享机制ContactnoteProvider。ContactnoteProvider是电话簿的数据存储及访问组件,作为ContentProvider的子类,它必须定义一个唯一的字符串标识Uri来指明自身存储的数据类型。ContactnoteProvider的Uri可以这样定义:publicstaticfinalUriCONTENT_URI=Uri.parse("content://vider.Contactnote/contactnotes")。ContentProvider可使用文件存储方式或SQLiteDatabase来存储数据。本文选用了SQLiteDatabase并借助基于SQLite的类SQLiteOpenHelper来构建电话簿存储系统:privatestaticclassDatabaseHelperextendsSQLiteOpenHelper{publicvoidonCreate(SQLiteDatabasedb){db.execSQL("CREATETABLEcontactnotes(_idINTEGERPRIMARYKEY,"+'peoplenameTEXT,"+"phonenumberTEXT,"+"modifiedINTEGER"+");”);}}//创建基于SQLiteDatabase的电话簿数据表格phonenumbersAndroid平台内置了一套SQLite数据存储机制,并包含了一系列管理SQLiteDatabase的相关方法,如创建、打开数据库以及执行SQL命令等,应用程序可直接使用这些方法来构建私有存储系统,在创建ContentProvider时也可以借用这些方法。上面的代码中,ContactnoteProvider就使用了基于SQlite的execSQL()方法来构建电话簿的数据存储系统。本文之所以使用ContentProvider来存储数据是因为只有它能实现数据共享,而其他存储系统的访问仅限于单个应用之内。ContactnoteProvider实现数据共享的前提是能被所有应用程序访问,因此它提供了一些公开的访问接口,应用程序调用这些访问接口时用Uri标识确定访问路径。Uri有两种形式,一种对应的是ContentProvider中的所有数据内容,另一种对应了具体的某条(行)数据。以ContactnoteProvider为例,vider.Contactnote/contactnotes代表整个ContactnoteProvider数据的访问路径,而vider.Contactnote/contactnotes/#则代表了具体某条(行)数据的访问路径,其中#指明行地址标号。ContactnoteProvider访问接口的实现也可以借助相关的S
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024年度网络直播内容制作保密合同3篇
- 2024年度离婚双方债务处理合同3篇
- 2024年度瓷砖粘贴工程进度计划合同2篇
- 2024年度房地产项目宣传物料设计与印刷合同3篇
- 岗前培训课程设计思路
- 2024商场租赁合同范本互联网企业租赁与合作3篇
- 2024年度农村田土承包权流转合同协议书3篇
- 2024年房地产经纪业务委托合同3篇
- 2024年电子信息产业专利交叉许可合同
- 2024年度工长专业能力评估与项目管理雇佣合同范本2篇
- 2023年中证数据招聘笔试真题
- 2024年农村公寓房屋买卖协议书参考样本3篇
- 2024年山东省政府采购专家入库考试真题(共五套 第一套)
- 木桶效应-课件
- 五年级数学(小数乘除法)计算题专项练习及答案汇编
- 初中济南版生物实验报告单
- 2024年全国《考评员》专业技能鉴定考试题库与答案
- 实验室安全准入学习通超星期末考试答案章节答案2024年
- 名画中的瘟疫史智慧树知到期末考试答案章节答案2024年上海健康医学院
- 中国竹编艺术智慧树知到期末考试答案章节答案2024年浙江广厦建设职业技术大学
- 国开电大-工程数学(本)-工程数学第4次作业-形考答案
评论
0/150
提交评论