移动开发平台技术.docx
《移动开发平台技术.docx》由会员分享,可在线阅读,更多相关《移动开发平台技术.docx(14页珍藏版)》请在冰豆网上搜索。
移动开发平台技术
第2章移动开发平台技术
1
2
2.1移动终端技术概述
2.1.1移动终端发展概述
我国移动互联网发展潜力巨大,未来几年有望成为全国规模最大的市场。
从这一方面说,移动互联网终端的发展,尤其是智能终端的出现,使得3G移动通信和终端都迎来了发展的机遇。
2.1.2从功能手机到智能终端
功能手机(Featurephone)是指那些不能随意安装卸载软件的普通手机,一般只具有手机自带的的通信及相关功能。
传统手机都使用的是生产厂商自行开发的封闭式操作系统,所能实现的功能非常有限,不具备智能手机的扩展性。
自从JAVA出现以后,使“功能手机(Featurephone)”逐渐具备了安装JAVA应用程序的功能,但是当时这种扩展了的功能手机的用户界面操作友好、运行效率及对系统资源处理,都远远不及“智能手机(SmartPhone)”。
智能手机比传统的手机具有更多的综合性处理能力功能。
智能手机同传统手机外观和操作方式类似,不仅包含触摸屏也包含非触摸屏数字键盘手机,和全尺寸键盘操作的手机。
“智能手机(SmartPhone)”就是一台可以随意安装和卸载应用软件的手机(就像电脑那样)。
3G时代下,智能手机已成主流,智能手机市场发展迅猛。
IDC日前发布的数据显示,2010年,制造商们共出货智能手机3.05亿台,2010年第四季度,全球智能手机出货量超越PC,成为里程碑式标志,2011年智能手机出货量将达4.72亿台,增长率将达55%;到2015年全球智能手机出货将达9.82亿台。
正如IDC高级分析师Kevin Restivo所指,“智能手机的闸门已经打开”,智能手机成了一种大趋势。
智能终端除了包含智能手机外,还包含平板电脑。
平板电脑界最明星产品为iPad,目前已推出两代。
Android平板电脑增长迅速,另外HP也推出了基于RIM系统的平板电脑、Intel的MeeGo平台也瞄准了平板电脑市场。
2009年1月7日,随着我国3G牌照的发放,标志着我国的3G移动互联网产业正式进入大发展阶段。
尽管3G解决了网速过慢的问题,但3G移动互联网要想有大的发展,同样离不开智能手机、智能手机操作系统的发展,也离不开应用软件的发展,2011年智能手机应用爆发,成为中国的移动互联网元年。
ABIResearch公司发布的报告表示,截至2010年底全球智能手机占据全球手机市场25%的市场份额,2012年则有可能达到50%。
智能手机操作系统也呈现出百花齐放的局面,Gartner的调查数据显示,截至2010年底全球智能手机的操作系统主要由四方主导:
Nokia旗下的Symbian以36.6%稳居首位;Android发展势头迅猛,占到25.5%的份额,上升至第二位;Apple的iOS以16.7%排名第三;RIM的Blackberry由于在北美的统治地位占14.8%,居第四位;Microsoft的WindowsMobile与新出的WindowsPhone7合计占到2.8%;余下的份额则由Linux、Palm、Brew等分享。
具体如图2-1所示。
图2-1Gartner调查:
2010年底智能手机平台市场份额
智能手机的功能特点如下:
❑具有开放性的操作系统,可以安装更多的应用程序,使智能手机的功能可以得到无限扩展。
❑具备无线接入互联网的能力,各种2G、3G网络制式以及WIFI。
❑具有PDA的功能,包括PIM(个人信息管理),日程记事,任务安排,多媒体应用,浏览网页。
❑人性化,可以根据个人需要扩展机器功能。
❑功能强大,可扩展性能强,可支持的第三方软件多。
智能手机的配置特点包括:
❑高速度处理芯片。
智能终端一般需要处理音频、视频,甚至要支持多任务处理,这需要一颗功能强大、低功耗、具有多媒体处理能力的芯片。
❑大存储芯片和存储扩展能力。
❑面积大、标准化、可触摸的显示屏。
❑支持播放式的手机电视。
以现在的技术,如果手机电视完全采用电信网的点播模式,网络很难承受,而且为了保证网络质量,运营商一般对于点播视频的流量都有所控制,因此,广播式的手机电视是手机娱乐的一个重要组成部分。
中国的手机都应该有CMMB,这样在偶尔需要看电视时,再不会觉得卡和质量不好。
❑支持GPS导航。
它不但可以帮助你很容易找到你想找到的地方,而且GPS导航还可以帮助找到你周围的兴趣点,未来的很多服务,也会和位置结合起来,这是手机特有特点。
❑操作系统必须支持新应用的安装。
有可能安装各种新的应用,使用户的手机可以安装和定制自己的应用。
❑配备大容量电池,并支持电池更换。
3G无论采用何种低功耗的技术,电量的消耗都是一个大问题,必须要配备高容量的电池,1500mAh是标准配备,随着3G的流行,很可能未来外接移动电源也会成为一个标准配置。
❑良好的人机交互界面。
2.2移动开发平台技术介绍
全球智能手机在3G移动互联网的带动下呈现逐年递增的局面,全球智能手机操作系统格局又很难像Microsoft的Windows一样由某个系统占据绝对垄断地位,导致智能手机的应用软件很难像PC应用软件有统一的开发平台及相应标准,这就需要手机应用软件必须适应各种不同智能手机操作系统,从而对软件开发人员提出了更高的要求。
除此之外,手机软件开发人员还必须熟悉各种智能手机的不同参数、规格以及运营商对软件的各种标准和规范,才能针对不同的智能手机、不同的运营商开发出相应的软件,因此传统软件开发人员没有经过系统的专业培训,很难从传统软件开发领域成功转到手机软件开发领域。
本节重点介绍主流移动开发平台的特点及开发环境。
2.2.1移动开发特点
相对于PC而言,手机等移动终端具有屏幕较小、存储容量较小、处理器的计算能力相对较低、电池电量有限等特点,所以在开发应用时需要注意,应用在这些方面的设计和开发都不同于普通PC上的应用。
因此,基于手机等移动终端的应用应具备如下特点:
❑有效管理内存
因为移动设备的内存相对PC而言偏小,所以在开发时,需要更加注意内存泄漏的问题,否则可能导致系统无法正常运行。
❑更强的容错处理能力
移动平台开发,需要对错误的包容性更强,因为移动设备的用户比PC用户更不能容忍需要重启的错误,所以,在开发时,必须尽可能的在程序中捕捉异常,通过重试、自动关闭某个程序等手段来解决问题。
❑不同的操作方式
手机的输入设备有别于PC,在PC上用户可以很方便地通过鼠标和键盘来完成输入操作,而手机等移动设备则没有鼠标的概念,高端智能设备提供了触摸屏。
所以我们设计界面的时候,必须考虑用户如何操作才能更加便捷。
❑有限的电量
移动设备的电池容量虽然在逐渐增加,但是相对PC而言,还是有限的,所以在开发时需要注意及时关闭耗电量比较大的功能,提供给用户更方便的选择。
❑有限的屏幕尺寸
相对PC而言,移动平台设备屏幕尺寸偏小,所以在UI设计需要考虑用户界面的分辨率等实际效果。
❑设备的多样性与软件的适配
由于移动设备需要满足多种用户需求,导致移动设备种类繁多,往往同一平台的设备有多个版本,往往不同版本之间,具有不同的软硬件配置,会导致同一款软件无法安装或者安装后无法正常运行,所以存在同一平台不同设备之间的适配问题,也需要做相应的移植。
❑开发周期相对传统软件较短
一般的移动平台应用软件或者游戏软件项目,相规模往往偏小,所以开发周期比传统软件开发周期可能会短,参与的研发人员也会相对少一些。
这个也不是绝对的,在移动平台一样也可以开发具有复杂而强大的功能的软件,这样开发周期也会比较长。
2.2.2SymbianOS平台及开发环境介绍
1.SymbianOS平台概述
1998年6月,Psion公司联合手机业界巨头诺基亚、爱立信、摩托罗拉等组建了Symbian公司。
该公司继承了Psion公司EPOC操作系统软件的授权,并且致力于为移动信息设备提供一个安全可靠的操作系统和一个完整的软件及通讯器平台。
作为一种开放式平台,任何人都可以为支持Symbian的设备开发软件。
这意味着开发伙伴具有更多可供选择的应用,同时拥有更大的市场。
为此Symbian推出了白金合作计划吸引了包括ARM、MotorolaSPSRealNetworks、TI德州仪器等大量的厂商加入。
Symbian公司还大量参与WAP、WirelessJava和Bluetooth的制定工作,确保EPOC将完全支持市场的内容和服务需求模块化、可伸缩性、低能耗以及与StrongARM这类RISC芯片的兼容性。
NOKIA全资收购Symbian公司并宣布开源计划,将Symbian操作系统开源,使得Symbian成为一个开放的、可扩展的智能手机平台。
SymbianOS系统按照人机交互界面大致分为S60、S80、UIQ等。
不同的用户界面对应不同的手机和模拟器屏幕尺寸、分辨率以及不同的输入方式。
其中:
S60、S80等对应的手机是采用键盘输入方式;UIQ对应的手机采用触摸屏方式与用户交互。
2008年诺基亚推出的S605th手机和诺基亚5800XpressMusic加入了对触摸屏的支持。
2010年由Symbian基金会开发的Symbian3已经在之前的Symbian平台之上进行了升级,整合了SymbianOS各种界面,推出的手机包括N8、C7和C6-01等机型。
2.SymbianOS开发环境
开发Symbian平台的手机软件,可以采用多种开发工具:
如微软研发的VisualC++6.0/VisualStudio2005、飞思卡尔(Freescale)半导体公司推出支持多种硬件平台的集成开发环境CodeWarrior,或者是诺基亚研发的ADT(ApplicationDeveloperToolkit)集成开发环境工具包,ADT的目标是为开发手机应用软件的开发者提供方便的开发环境,其中集成了Carbide.c++,可以用来开发SymbianS60应用程序。
需要安装的软件是:
❑JavaSDK
❑ActivePerl(使用5.6.1系列版本,其他版本可能产生不兼容现象,导致搭建环境失败)
❑ApplicationDeveloperToolkit(ADT)(包含:
Carbide.C++IDE)
❑SymbianS60PlatformSDK(包含:
编译工具、模拟器及开发帮助文档)
依次安装完后,即可启动ADT中的Carbide.C++集成开发环境,进行Symbian项目开发。
另外,诺基亚扩展了Qt开发库,推出了NokiaQtSDK,其中也包含了集成开发环境以及Symbina平台应用软件开发的SDK等软件,可以用来开发Symbian平台的应用程序。
2.2.3Android平台及发展介绍
1.Android平台概述
Google于2007年11月宣布,与30多家业内企业成立开放手机联盟(OHA:
OpenHandsetAlliance),共同开发Android开源移动平台。
Android也是一款智能手机操作系统,Android其实是一个操作系统的称谓,它是Google在2005年收购的一家手机软件公司名,并用Android来命名这个全新的操作系统。
Android向手机厂商和手机运营商提供了一个开放的平台,供它们开发创新性的应用软件。
Android是基于Linux技术,由操作系统、用户界面和应用程序组成,允许开发人员查看源代码,是一套具有开放源代码性质的手机终端解决方案。
Google的Android平台现在宣布公布源代码,并允许所有手机厂商加入开发,免费使用,这无疑让手机企业和第三方软件企业都为之振奋。
Google宣称Android联盟成员目前有34家,其中芯片制造商包括:
英特尔、高通、德州仪器、Nvidia公司;手机制造商包括:
摩托罗拉、三星、LG和宏达(HTC);运营商包括:
中国移动、美国的Sprint和T-Mobile、美国、日本的NTTDoCoMo和KDDI、10个欧洲国家的T-Mobile等,再加上做应用层面的Google、SkyPop。
截至2011年6月,Android集合了36家OEM厂商,215家移动运营商,和超过45万名开发者。
目前,总计有20万个应用在Android市场里。
2008年10月谷歌的G1手机正式推出。
该手机是第一款采用谷歌Android操作系统的手机。
由于Android的开放性吸引了众多手机制造商,HTC、摩托罗拉、三星、LG、华为、联想、酷派等手机制造商不断推出Android新手机,截至2011年6月,Android设备超过1亿台,新增日激活量40万台。
2.Android开发环境
Android开发采用的集成开发环境是Eclipse,需要具备的工具如下:
❑JDK1.6+
❑AndroidSDK1.6
❑AndroidSDKSetup
❑EclipseIDEforJavaDevelopers
2.2.4WindowsMobile平台及开发环境介绍
1.WindowsMobile平台概述
WindowsMobile系列操作系统是在微软计算机的Windows操作系统上变化而来的,因此,WindowsMobile的操作界面与Windows的操作界面非常相似。
WindowsMobile系列操作系统具有功能更强大,多数具备了音频、视频文件播放、上网冲浪、MSN聊天、电子邮件收发等功能。
而且,支持该操作系统的智能手机多数都采用了英特尔嵌入式处理器,主频比较高,另外,采用该操作系统的智能手机在其他硬件配置(如内存、储存卡容量等)上也较采用其他操作系统的智能手机要高出许多,因此性能比较强劲,操作起来速度会比较快。
但是,此系列手机也有一定的缺点,如因配置高、功能多而产生耗电量大、电池续航时间短、硬件采用成本高等缺点。
WindowsMobile系列操作系统包括SmartPhone以及PocketPCPhone两种平台。
PocketPCPhone主要用于掌上电脑型的智能手机,而SmartPhone则主要为单手智能手机提供操作系统。
WindowsPhone7是微软推出的一个触控操作模式操作系统,其新特性总结如下:
❑触摸手势:
与iPhone类似,滑过、移动、拖拽等;
❑运动手势:
有些是iPhone所没有的功能,不会可以使用一系列回旋和加速,相反,它可以使用手机内置相继探测移动并建立适宜的动作。
例如:
摇晃、扭曲以及电话和物体的相对移动等;当电话放置在一个平面时,可以执行一些动作,并且会判断其自身是否处于口袋中;
❑具备令人激动的锁屏功能:
可以把玩、拖拽、摇动以及旋转等;
❑具有全新的外观:
界面更像是WindowsVista的黑色并具有未来主义的视觉效果,支持图形过渡、精细的效果和其他更为华丽的UI;
❑主要为手指操作设计:
让手机更适合手指操作,单手就可以很轻松的使用并易于理解;尽量取消按钮、或者更少等按钮,使用触摸屏即可执行多数任务;
❑具备更好的视频回放:
媒体播放器和照片管理器得到很大改进,浏览器以全屏运行、具备标签浏览;
❑键盘得到改进:
计划设置全触摸键盘;
2.WindowsMobile开发环境
直接到微软的网站可以下载开发环境所需要的软件安装包。
注意,如果开发WindowsMobile7的应用程序,需要在Windows7中进行,安装VisualStudio2010ExpressforWindowsPhoneCTP即可,其中包含了以下组件:
❑VisualStudio2010ExpressforWindowsPhoneCTP
❑WindowsPhoneEmulatorCTP
❑SilverlightforWindowsPhoneCTP
❑XNAGameStudio4.0CTP
2.2.5iOS平台及开发环境介绍
1.iOS平台概述
iOS是苹果公司为iPhone开发的操作系统,它主要是给iPhone、iPodtouch以及iPad使用。
就像其基于的MacOSX操作系统一样,它也是以Darwin为基础的。
原本这个系统名为iPhoneOS,直到2010年6月7日WWDC大会上宣布改名为iOS。
iOS的系统架构分为四个层次:
核心操作系统层(theCoreOSlayer),核心服务层(theCoreServiceslayer),媒体层(theMedialayer),Cocoa界面服务层(theCocoaTouchlayer)。
系统操作占用大概240MB的存储器空间。
iOS的用户界面的概念基础是能够使用多点触控直接操作。
控制方法包括滑动,轻触开关及按键。
与系统交互包括滑动(swiping),轻按(tapping),挤压(pinching)及旋转(reversepinching)。
此外,通过其内置的加速器,可以令其旋转设备改变其y轴以令屏幕改变方向,这样的设计令iPhone更便于使用。
屏幕的下方有一个home按键,底部则是dock,有四个用户最经常使用的程序的图标被固定在dock上。
屏幕上方有一个状态栏能显示一些有关数据,如时间﹑电池电量和信号强度等。
2.iOS开发环境
CocoaTouch是从MacOSX上的framework裁剪和修改而来,用于开发iphone、ipod、ipad上的软件。
也是苹果公司针对iPhone应用程序快速开发提供的一个类库。
此库以一系列框架库的形式存在,支持开发人员使用用户界面元素构建图像化的事件驱动的应用程序。
iPhone上的CocoaTouch与MacOSX上的Cocoa和AppKit类似,并且支持在iPhone上创建丰富、可重用的界面。
苹果公司为iOS开发人员准备了iPhoneSDK,当然iPhoneSDK只能基于苹果的MACOS系统进行开发。
iPhoneSDK(SoftwareDevelopmentKit,软件开发包)包括了界面开发工具、集成开发工具、框架工具、编译器、分析工具、开发样本和一个模拟器。
❑Xcode
Xcode是iPhone开发工具库中最为重要的一款工具。
它提供了一个全面的项目开发和管理环境,包括源文件编辑、丰富的文档和一个图形化调试器。
Xcode由多款开源GNU工具构建而成,即gcc(编译器)和gdb(调试器)。
❑InterfaceBuilder
InterfaceBuilder(IB)提供了一个快速的原型工具,可用于以图形化的方式布局用户界面以及从Xcode源代码链接到这些预构建的界面。
借助IB,可以使用可视设计工具绘制界面,然后将这些屏幕元素连接到应用程序中的对象和方法调用。
❑模拟器(Simulator)
iPhone模拟器运行于Macintosh之上,借助它,无需连接到实际的iPhone或iPodtouch,就可以在台式机上创建和测试应用程序,当然,并不是iPhone所有的特性模拟器都可以模拟。
模拟器提供的API与在iPhone上使用的API相同,并针对概念设计的效果提供相应的预览。
在使用模拟器时,Xcode将编译在Macintosh上运行的Intelx86代码,而不是iPhone上使用的基于ARM的代码。
❑Instruments
Instruments用于分析iPhone应用程序的内部运行原理。
它对内存利用率进行采样,并监视性能。
这样,你可以准确识别并锁定应用程序中的问题区域,并采取有效措施。
Instruments提供基于时间的图形化性能图(plot),可显示应用程序中占用资源最多的地方。
Instruments由SunMicrosystems开发的开源DTrace包构建而成。
Instruments在跟踪内存泄露及确保应用程序在iPhone平台上有效运行方面发挥着重要作用。
2.2.6J2ME平台及开发环境介绍
1.J2ME平台概述
JavaME以往称作J2ME(JavaPlatform,MicroEdition),是为机顶盒、移动电话和PDA之类嵌入式消费电子设备提供的Java语言平台,包括虚拟机和一系列标准化的JavaAPI。
它和JavaSE、JavaEE一起构成Java技术的三大版本,并且同样是通过JCP(JavaCommunityProcess)制订的。
根据Sun的定义:
JavaME是一种高度优化的Java运行环境,主要针对消费类电子设备的,例如蜂窝电话和可视电话、数字机顶盒、汽车导航系统等等。
JAVAME技术在1999年的JavaOneDeveloperConference大会上正式推出,它将Java语言的与平台无关的特性移植到小型电子设备上,允许移动无线设备之间共享应用程序。
2.J2ME开发环境
开发JavaME程序需要开发者需要装上JavaSDK以及SunJavaWirelessToolkit系列开发包,开发IDE可以选择Eclipse、NetBeans等。
Java开发工具:
❑JavaSDK5.0或更高
❑SunJavaWirelessToolkit2.x系列开发包
❑主流IDE(Eclipse、NetBeans、MyEclipse)
❑有些手机开发商如Nokia、SonyEricsson、摩托罗拉等都有自己的SDK,供开发者再开发出兼容于他们的平台的程序。
2.2.7其他移动平台简介
其他移动平台还有很多,包括诺基亚和英特尔宣布推出一个免费移动平台操作系统MeeGo,将用于智能手机与平板电脑;Palm公司(被惠普收购)推出的WebOS(又称PalmOS),吸引了无数人的眼球;RIM公司研发的与黑莓手机操作系统BlackBerryOS;三星公司自行研发的智能手机平台Bada(于2009年11月10日发布),支持丰富功能和用户体验的软件应用,特点是配置灵活、用户交互性好、面向服务,非常重视SNS集成和地理位置服务应用。
2.3中国移动应用开发平台
2.3.1OPhone介绍
OPhone是指采用了OMS(开放移动系统)智能操作系统的手机。
为了突破TD终端瓶颈,以及促进手机终端与中国移动的网络及应用服务进行无缝对接,中国移动和播思通讯自去年开始在谷歌Android操作系统基础上,主导开发了OMS系统,该系统直接内置了中国移动的服务菜单、音乐随身听、手机导航、号簿管家、139邮箱、飞信、快讯和移动梦网等特色业务。
在中国移动的大力推动下,目前已推出多款基于OPhone系统的明星智能手机,包括三星i9008、三星i7680、摩托罗拉MT810、MT716、MT720、MT710、索爱A8i、华硕T10、LGGD888等。
2.3.2OPhone开发环境与SDK介绍
OPhoneSDK是专为OPhone平台开发者设计的一整套功能强大的软件开发包。
OPhoneSDK兼容AndroidSDK,最新版的OPhoneSDK以AndroidSDKAdd-on的形式发布。
OPhoneSDK安装包包括:
可视化开发工具(ODT)、Widget开发工具(WDT)、OPhoneAPI、帮助文档、示例代码、模拟器等文件。
安装环境要求的操作系统可以是:
WindowsXP/Windows7、Linux(LinuxUbuntu8.04或更新版本)、MacOSX10.5.8或更高版本。
首先安装JDK,建议安装JDK5.0或更高版本;然后安装Eclipse;之后安装AndroidSDK,再通过“AndroidSDK和AVD管理器”下载必要的AndroidSDK开发组件;接下来安装OPhoneSDK。
安装完成后,要进行环境变量设置就可以开发OPhone应用程