随着移动设备的普及,其功能越来越完善,移动设备的系统平台也日渐火热。本章首先介绍智能手机及其操作系统平台(如Symbian、Android、Windows Mobile、IOS等),并对学习Android手机软件开发的必要性进行阐述。之后,介绍Android平台的总体架构,并对完成Android应用程序软件开发的SDK及其组成进行简要说明。最后,对通过Android Market发布自己应用程序的方法进行介绍。学习本章内容时,要求重点掌握如下内容:
●了解常见的智能手机操作系统平台。
●了解Android的总体结构及主要功能。
●了解Dalvik虚拟机、AVD等。
●了解Android Market及发布应用程序的方法。
1.1 智能手机及其操作系统
据中国互联网络信息中心于2011年7月19日发布的统计《中国互联网络发展统计报告》显示,
军运会时间2011年上半年,我国手机网民规模继续稳步扩大。截至2011年6月底,我国手机网民达3.18亿,较2010年底增加1495万人(如图1.1所示)。可以说,智能手机正在快速走进人们的生活。就目前来看,已经有越来越多的人开始把智能手机当作日常看视频、办公的首选设备。随着A9架构、双核概念的问世,智能手机能更广泛、轻松地接管生活和工作中的大小事务[1]。因此,学习和研究智能手机软件开发,具有广阔的社会需求和工程实践意义。
图1.1 手机上网网民规模
智能手机一般指像个人电脑一样具有独立操作系统,可由用户自行安装软件等第三方服务商提供的程序,并且,用户能对手机功能进行扩充。目前,全球多数手机厂商都有智能手机产品,如芬兰的诺基亚公司、美国的苹果公司,以及加拿大的黑莓、美国的摩托罗拉、的宏达HTC、韩国的三星等。图1.2列出了几款常见的手机操作系统[2]。
认识你真好图1.2 几款常见智能手机及其主要配置
由于这些智能手机多使用ARM而非X86的CPU体系架构,因此有不同于普通计算机的操作
系统和软件开发环境。目前,常见的移动开发平台有当下正在逐步兴起的Google的Android,以及Symbian、Windows Phone、iPhone、RIM公司的黑莓BlackBerry、Web OS(又称Palm OS)、MeeGo(米狗)等。
自iPhone在07年初次登台并将智能手机直接带向移动互联时代后,一方面智能手机普及率直线上升,另一方面整个市场目前也呈现了iPhone与Android手机两强争霸(亦有说iPhone、Android、Windows Phone三雄争霸)的局面。随着智能手机应用的普及,各大手机平台都推出了用于开发手机软件的SDK(Software Development Kit)。如苹果推出了iPhone的SDK,谷歌推出了Android的SDK,塞班推出了S60 SDK等。SDK大大降低了开发智能手机软件的门槛。但由于手机有着和普通PC机不一样的特点(如一般要考虑到屏幕大小、内存大小、背景、省电模式的使用、实际的操作特点等),因此开发智能手机应用软件也有着和开发普通计算机应用程序不一样的特点。下面,对常见的智能手机操作系统进行简介。
1.1.1 Symbian简介
Symbian是一个实时、多任务的纯32位操作系统,具有功耗低、内存占用少等特点,适合
手机等移动设备使用。虽然Symbian在智能手机市场取得了成功并长期居于首位,但Symbian S60等系统近两年亦遭遇到发展瓶颈。另外,并不是所有的Symbian系统都是智能系统(如S40系统就不属于智能手机)。限于篇幅,这里不再对Symbian进行详细介绍,有兴趣的读者可以参阅如下文献或网站资料:
[1].李树仁, 孙晨, 时磊. “Symbian OS C++编程指南”, 人民邮电出版社, 2009年.
[2].华清远见嵌入式培训中心, 侯茂清. “Symbian手机应用开发标准教程”, 人民邮电出版社, 2009.
[3].赵希哲, 司维, 宋昱鹏. “Easy Symbian:手机应用开发入门”, 人民邮电出版社, 2009年.
[4].Richard Harrison, Mark Shackman. “Seybian OS C++手机应用开发”, 人民邮电出版社, 2009.
[5].尚邮论坛:bbs.shangmail/forumdisplay.php?fid=30
[6].百度贴吧:tieba.baidu/f?kw=symbian
[7].搜狐数码公社:it.sohu/
1.1.2 Android简介
Android是谷歌公司推出的一款高效的、以Linux为基础的、专为智能手机设计的操作系统平台,也是免费、开放的智能手机开发平台。Android包括中间件(负责硬件和应用程序之间的沟通)、应用软件等。在开发智能手机软件时,Android SDK(Software Development Kit)是很有用的工具,它方便了开发人员开发Android应用程序。一般地,用户可以使用Java语言来开发Android平台上的应用程序,并通过Android SDK提供的一些工具将其打包为Android平台使用的APK文件,再使用模拟器来测试该软件在Android平台上的实际运行情况和效果(当然,也可以直接将其安装到实际的Android智能手机上应用)。有关Android的参考文献或网站资料主要有:
[1].杨丰盛. Android应用开发揭秘, 机械工业出版社, 2010.
[2].E2E Cloud工作室. 深入浅出Google Android, 人民邮电出版社, 2009.
[3].韩超, 梁泉. Android系统原理及开发要点详解, 电子工业出版社, 2010.
韩雪家庭背景太恐怖[4].Ed Burnette股票杠杆是什么意思. Android基础教程, 人民邮电出版社, 2009.
[5].机锋, bbs.gfan/.
[6].安卓网, www.hiapk/bbs/index.php.
[7].Android开发者门户: Android/forum.php.
[8].安卓手机论坛, Android.pconline/.
[9].开发者网站: www.Androidin.
1.1.3 Windows Mobile简介
作为微软的掌上版操作系统,Windows Mobile与桌面PC和Office办公软件的兼容性很好,而且Windows Mobile具有强大的多媒体性能,使其成为较有潜力的操作系统之一。但目前Windows Mobile尚不是Android与苹果的竞争对手。为此,微软与诺基亚于2011年2月11日宣布达成战略合作伙伴关系,两者对未来的计划是打造一个全球移动“生态系统”,届时诺基亚手机将采用微软的Windows Phone系统作为主要的智能手机系统,以期能优势互补,
占据更大的市场份额。但结果如何,尚需拭目以待。限于篇幅,本书不对Windows Mobile进行介绍,有兴趣的读者可以参阅如下文献或网站资料:
[1].杨云, “Windows Phone 3G手机软件开发”, 机械工业出版社, 2010.动画片大电影
[2].Charles Petzold, “Programming Windows Phone 7”, Microsoft Press, 2010.
[3].Nick Randolph, “Professional Windows Phone 7 Application Development: Building Windows Phone Applications and Games Using Silverlight and Xna”, Wrox Pr/Peer Information Inc. Press, 2010.
[4].Charles Petzold, “Microsoft Silverlight Programming for Windows Phone 7”, Microsoft Press, 2010.
[5].Windows移动设备论坛:
social.msdn.microsoft/Forums/zh-CN/category/windowsmobiledevicecn.
social.msdn.microsoft/Forums/zh-CN/category/windowsmobiledevicecn.
自制冰激凌[6].智机网, www.wpxap/.
[7].Windows Mobile讨论区:sj.bbs.91/board/26-68.html.
[8].中文社区: www.winbile/BBS/.
1.1.4 IOS简介
IOS又称MAC OS,是苹果公司为iPhone开发的操作系统,主要是为iPhone、iPod touch以及iPad使用。该系统的人机界面设计及人机操作非常优秀且应用软件丰富,已经赢得了可观的市场份额。限于篇幅,本书不对IOS进行介绍,有兴趣的读者可以参阅如下文献或网站资料:
[1].Dave Mark, Jeff LaMarche, iphone3开发基础教程, 人民邮电出版社, 2009.
[2].Christopher Allen, Shannon Appelcline, iPhone开发实战, 人民邮电出版社, 2009.
[3].Duncan Campbell, iphone SDK 3开发快速上手, 机械工业出版社, 2010.
[4].John Ray, Sean Johnson, “iPhone开发入门经典”, 人民邮电出版社, 2010.
[5].iPhone论坛:iphonebbsmo/~.
[6].泡泡网, bbs.pcpop/005900050-00137-000008520s-1_right.html.
[7].手机论坛, bbs.imobile/forum-id-68621.html.
[8].苹果开发中文站: achina.
1.2 为什么要学习Android?
为什么要学习Android智能手机应用程序开发呢?这不仅是由于Android背后有强大的谷歌作为后盾,并开放了Android SDK软件开发组件,可以让第三方的开源社区方便快捷地开发众多实用的Android应用程序,而且它与手机产业链中最具有影响力的龙头公司联盟——这个联盟由包括中国移动、摩托罗拉、高通、宏达和T-Mobile在内的几十家技术和无线应用的领军企业组成——建立了战略合作关系,并且建立了标准化、开放式的通信软件平台。也就是说,只要采用Android操作系统平台,就基本不受限于硬件装置,程序的可移植性好,能很好地解决当前由于众多手机操作系统的不同而造成的不同智能手机间文件格式不同而无法让信息顺利流通的问题。总的来说,学习和采用Android的理由有:
发布评论