视频1 视频21 视频41 视频61 视频文章1 视频文章21 视频文章41 视频文章61 推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37 推荐39 推荐41 推荐43 推荐45 推荐47 推荐49 关键词1 关键词101 关键词201 关键词301 关键词401 关键词501 关键词601 关键词701 关键词801 关键词901 关键词1001 关键词1101 关键词1201 关键词1301 关键词1401 关键词1501 关键词1601 关键词1701 关键词1801 关键词1901 视频扩展1 视频扩展6 视频扩展11 视频扩展16 文章1 文章201 文章401 文章601 文章801 文章1001 资讯1 资讯501 资讯1001 资讯1501 标签1 标签501 标签1001 关键词1 关键词501 关键词1001 关键词1501 专题2001
Android智能手机软件开发概述
2025-09-26 22:05:06 责编:小OO
文档
第1章  Android智能手机软件开发概述

随着移动设备的普及,其功能越来越完善,移动设备的系统平台也日渐火热。本章首先介绍智能手机及其操作系统平台(如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].尚邮论坛:http://bbs.shangmail.com/forumdisplay.php?fid=30

[6].百度贴吧:http://tieba.baidu.com/f?kw=symbian

[7].搜狐数码公社:http://symbian.zone.it.sohu.com/

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].机锋, http://bbs.gfan.com/.

[6].安卓网, http://www.hiapk.com/bbs/index.php.

[7].Android开发者门户: http://www.eoeAndroid.com/forum.php.

[8].安卓手机论坛, http://Android.pconline.com.cn/. 

[9].开发者网站: http://www.Androidin.com.

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移动设备论坛: 

http://social.msdn.microsoft.com/Forums/zh-CN/category/windowsmobiledevicecn.

[6].智机网, http://www.wpxap.com/.

[7].Windows Mobile讨论区:http://sj.bbs.91.com/board/26-68.html.

[8].中文社区: http://www.winbile.net/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论坛:http://iphonebbs.cnmo.com/~.

[6].泡泡网, http://bbs.pcpop.com/005900050-00137-000008520s-1_right.html.

[7].手机论坛, http://bbs.imobile.com.cn/forum-id-68621.html.

[8].苹果开发中文站: http://www.cocoachina.com.

1.2 为什么要学习Android?

为什么要学习Android智能手机应用程序开发呢?这不仅是由于Android背后有强大的谷歌作为后盾,并开放了Android SDK软件开发组件,可以让第三方的开源社区方便快捷地开发众多实用的Android应用程序,而且它与手机产业链中最具有影响力的龙头公司联盟——这个联盟由包括中国移动、摩托罗拉、高通、宏达和T-Mobile在内的几十家技术和无线应用的领军企业组成——建立了战略合作关系,并且建立了标准化、开放式的通信软件平台。也就是说,只要采用Android操作系统平台,就基本不受限于硬件装置,程序的可移植性好,能很好地解决当前由于众多手机操作系统的不同而造成的不同智能手机间文件格式不同而无法让信息顺利流通的问题。总的来说,学习和采用Android的理由有:

(1)国内外很多移动巨头都开始着手进行基于Android的应用软件开发,国内厂商可以借鉴其开发经验,更好地促进移动技术的开发与应用。其良好的盈利模式使得运营商、制造商、软件生产商都可以从中获得不菲的利益。

(2)Android拥有完善的程序开发环境,如设备模拟器、调试工具、内存和性能分析工具等。另外,Android继承了开源技术的基本特征,社区支持度高,系统应用的移植性好。

(3)采用了对有限内存、电池和CPU优化过的虚拟机Dalvik,处理速度更快。

(4)应用程序框架可以方便地重用。

(5)集成了基于开源的WebKit引擎的浏览器。

(6)集成了轻量级数据库管理系统SQLite。

(7)拥有优化的图形系统,自定义了2D/3D图形库。

(8)支持常见的音频和视频以及各种图片格式。

(9)在相应硬件环境(注:这些硬件环境多是目前智能手机能够提供的)支持下,可集成GSM、蓝牙、EDGE、3G、Wi-Fi、摄像头、GPS、罗盘、加速度计等。

:一般地,Android系统内核是Linux;程序开发语言是Java;编程IDE可以采用Eclipse;由其dx工具转换为Dalvik Executable(.dex)文件格式后,再由Dalvik虚拟机器在Linux平台上运行。

目前,Android的成长很快。据谷歌创始人及CEO佩奇曾透露,全球有超过1.5亿部Android设备被激活,每天激活的设备数量高达55万部,这些设备遍及全球123个国家的231家运营商的网络上。Android手机不仅在美国的市场占有率居首(达38%),而且在全球智能手机的占有率也已经超过了苹果手机[3]。有数据显示,虽然苹果公司在2011年第二季度一跃而成为全球最大的智能机制造商,市场份额也超过19%,但如果按照操作系统来划分,Android则反超苹果公司的iOS操作系统[4]。2011年8月15日,谷歌更是宣布已与移动巨头摩托罗拉签署收购后者的协议。收购摩托罗拉移动有助于谷歌进一步强化Android生态系统,从而提升在移动计算市场的竞争力。交易完成后,摩托罗拉移动将作为谷歌的业务继续运营,而Android仍将保持开放。可以预见,上述举措将会进一步强化整个Android的开发系统 [5]。2011年11月3日,由CSDN和创新工场联合主办的“2011中国·移动开发者大会”在北京召开。会上,创新工场董事长兼首席执行官李开复表示,国内移动互联网发展还处于发展初级阶段,但可以看到国内的发展速度非常之快,其中基于Android开发在2012年将迎来发展爆发点。另据路透社报道,由于RIM的黑莓服务故障影响了4个大洲的无数用户,分析家认为,这次事故将推动黑莓用户加速转向iOS和Android设备。

因此,学习Android,开发基于Android的应用程序,是时代发展的需要。

1.3 Android SDK简介

Android SDK提供了在Windows/Linux/Mac平台上开发Android应用程序的相应的开发组件,它含有在Android平台上开发应用程序的工具集,如用于模拟和测试该软件在Android平台上的运行情况和效果的模拟仿真器(注:在仿真器上开发程序后可将其部署到真实的手机上),以及用于在Eclipse中的开发工具插件ADT、调试工具(如DDMS等)、打包成APK文件的工具、用来运行Android的应用程序的Dalvik虚拟机、Webkit网页浏览引擎、2D/3D图形界面、SQLite数据库、照相机、指南针等[6]。程序开发者可以直接调用这些API函数。

1.3.1 SDK总体架构概述

Android SDK总体架构如图1.3所示。

图1.3 Android SDK总体架构

Android SDK的最底层(Linux Kernel)是基于Linux 2.6内核实现的,它负责硬件驱动、网络管理、电源管理、系统安全、内存管理等。例如,它可以负责显示驱动、基于Linux的帧缓冲驱动、键盘驱动、Flash驱动、照相机驱动、音频视频驱动、蓝牙驱动、基于IEEE 802.15.1标准的无线传输技术、Wi-Fi驱动、基于IEEE 802.11标准的驱动、Binder IPC驱动、能源管理等。

Android SDK的第二层(即Libraries & Android Runtime层)由大多数开源的函数库组成,如标准的C函数库Libc、OpenSSL、SQLLite等。其中的WebKit负责Android网页浏览器的运行,2D SGL/3D OpenGL图形与多媒体函数库分别支持各种影音与图形文件的播放(如MPEG4、AAC、AMR、JPG);SQLLite提供了轻量级的数据库管理系统。在这一层中的Android RunTime提供了Android特有的Java内核函数库。另外,Android为每个应用程序分配了专有的Dalvik虚拟机,可以通过Java语言编写应用程序并在Android平台上同时运行多个Java应用程序。Dalvik虚拟机拥有可在一个设备上运行多个虚拟机的特性,Dalvik虚拟机下的.dex格式文件经过了优化,占用的内存非常小,执行效率高。

:Dalvik虚拟机和一般Java虚拟机有所不同,它执行的不是Java标准的字节码,而是Dalvik可执行格式.dex文件。和普通的基于栈的Java虚拟机不同,Dalvik是基于寄存器的虚拟机。Dalvik的好处在于可以实现更多的优化,这更适合移动设备的特点。

Android SDK的第三层是应用程序架构(即Application Framework层),它为应用程序层的开发者提供用于软件开发的API。由于最上层的应用程序是以Java构建的,因此本层次提供的组件包含了用户界面UI程序中所需要的各种控件。相应功能有显示(如消息方块、条列消息、按钮、内嵌式浏览器等)、消息提供(如访问信息、分享信息)、资源管理(如图形、布局文件等)、提示消息(显示警告信息等)。例如,这里的Activity Manager负责在仿真器上生成窗口事件,而View System则在窗口显示设定的内容。

Android SDK的最上层是应用程序(即Applications层)。Android本身已经提供了一些简单的应用——如主屏幕(Home)、联系人(Contact)、电话(Phone)、浏览器(Browers)、游戏,以及谷歌Maps、E-mail、即时通信工具、MP3播放器、电话、照相程序、文件管理等应用。同时,开发者还可以使用SDK提供的API开发自己的程序。这也是本书的重点所在。

1.3.2 SDK内部结构

将下载的Android SDK解压后(注:下载方法参见第2章),其文件夹下一般有子目录add-ons、docs、platforms、samples、tools等以及SDK Manager.exe等,见图1.4。其中,add-ons和platforms目录初始时可能为空,因为从Android SDK 1.6开始,Android均采取在线更新组件的方式来安装各版本的SDK,具体方法是运行SDK Manager.exe,出现如图1.5所示的对话框,点击Update完成在线更新。

图1.4 Android SDK解压后的文件夹列表

图1.5 SDK在线更新

这里的有些文件(如Android.jar),对Android应用程序的开发是起重要作用的。进入SDK所在文件夹下的相应子文件夹(注:随版本不同而有差异,如platforms\\android-8),用Winrar工具打开Android.jar,会看到这个Android.jar的内部结构,如图1.6所示。

图1.6 Android.jar内部结构

一般地,在SDK文件夹下的docs\\guide\\index.html是有关SDK的API的说明文档,建议读者和开发人员阅读其中的Dev Guide部分,如图1.7所示。

图1.7 Android Developer’s Guide

1.3.3 简单的Android应用程序组成

总的来说,简单的Android应用程序由Activity、Content provider、Service、Intent等部分组成(可能只包含其中部分而非全部组成)。其中,Activity相当于Windows应用程序的对话框窗口或网络应用程序的Web页面窗口;Content provider提供供多个应用使用的数据存储;Service被设计成和Activity的可以保持后台运行的服务(如设计需要在后台运行的音乐播放器时需要用到Service),Intent是一种运行时的绑定机制,用来描述一个程序想要作什么事情、从一个Activity跳到另一个Activity等,借助于Intent,各个Activity间的切换是很方便的。

1.4 用于在Eclipse中开发程序的外挂工具ADT

虽然专门用于手机开发的J2ME拥有众多的图形工作界面和IDE(如IntelliJ、Eclipse、Fastpace、MIDP、NetBeans等),但最终Google还是选择Eclipse作为其开发Android智能手机应用程序的IDE,并将开发Android应用程序所需的程序创建、运行测试与纠错功能等完全集成到Eclipse外挂的ADT(Android Development Tools)中。可见,ADT是Google开发的Eclipse外挂程序,它在常规的Eclipse中打造了一个Android专属的开发环境,并扩展了Eclipse的功能,可以让用户快速、方便地建立和调试Android项目——如创建Adnroid开发实例、运行与除错、在基于Android框架的API上添加组件,以及用SDK工具集(如DDMS等)调试应用程序、导出签名(或未签名)的APK程序以便发布应用程序等功能。这些功能已经都集成到Eclipse的开发环境中,因此不需要额外的使用命令行指令(如adb.exe和ddms.exe等)进行处理。可见,通过ADT扩充Eclipse的功能,可让程序开发者在Eclipse中快速创建Android程序,并自动将应用程序发送到Android仿真环境中运行、测试和除错,并在程序可能出错的地方,提供断点插入功能。

有关在Eclipse中集成ADT的方法参见后文第2章,而Eclipse的简介参见本书附录。

1.5 Dalvik虚拟机

众所周知,Java程序运行时需要JRE运行环境。Google为了让Android避开可能的版权问题,使用了自己的JRE,它就是位于SDK总体架构中间层的Dalvik虚拟机。就是说,Android通过Dalvik非直接采用Java的虚拟机来运行Android程序。Dalvik虚拟机针对手机的实际情况进行了功能优化,如支持多进程与内存管理、低功耗支持等。

和普通Java虚拟机不同的是,Dalvik支持运行的文件格式是特殊的,因此它需要将普通Java的class的文件用Android SDK中的dx工具转换为.dex格式的文件(这些转换对使用Eclipse ADT的程序开发者而言是透明的,编程人员无需分神关注)。

1.6 虚拟仿真器AVD

在设置了Java JDK、Eclipse集成开发环境、ADT、Android SDK路径后,就可以开始编写Android应用程序了。在Eclipse中完成应用程序的开发后,可以先在虚拟手机上仿真而不必将其真正放到手机上运行(虽然这种方式更直观些)。

Android仿真器AVD(Android Virtual Device),是由Qemu所改装而成的。Qemu是一套由Fabrice Bellard所编写的模拟处理器的自由软件,其高速度及跨平台特很突出,它支持三个版本(即Windows、Linux、Mac OS版)来供Android开发者使用。Qemu可以让x86平台上仿真ARM处理器运行Android,可以在系统中仿真出虚拟的CPU,然后将要仿真的操作系统交给这个虚拟CPU去处理,能够达到在同一平台却能同时执行不同操作系统的目的。可见,Android实际上是通过Qemu+device skin功能来显示当前所看到的手机虚拟器。在模拟器启动后,手机画面是上锁的,按手机上的Menu菜单,就是Android手机使用画面了。

在Android SDK 1.5及其以后的程序开发中,需要创建至少一个AVD,每个AVD模拟了一套设备来运行Android平台。

:第一次在Eclipse中用模拟器启动应用程序时,其启动时间是比较长的。当其启动后,每次运行新的应用程序时不必关闭旧的模拟器。可以直接在Eclipse中右击工程,在弹出的快捷菜单中执行【Run As】|【Android Application】,运行程序即可。

但模拟器AVD毕竟不是真实的手机,它在如下几点一般是没有真实手机的功能的[6]:

●不支持实际呼叫和接听电话。

●不支持USB连接。

●不支持相机和视频捕获。

●不支持音频输入(捕获),但支持输出(播放)。

●不支持扩展耳机。

●不能确定连接状态。

●不能确定电池水平和充电状态。

●不能确定SD卡的插拔。

●不支持蓝牙功能。

1.7 在Android Market上发布自己的应用程序

Android Market是个开放的平台,开发者可以上传和销售自己的作品,用户可以随时随地的下载、安装和评价它。据Google Android平台负责人Eric Chu 称,Android Market对应用程序开发者最大的吸引力是他们可以很轻松地进入这个市场。与相似,开发者仅需三个简单的步骤即可在上传内容:注册、上传内容并加以描述、发布。Google表示不会像苹果那样对iTunes AppStore内的软件应用进行严格的监管,这可能也是Android Market称为Market的意图。软件开发商只需要注册并一次性支付一定的申请费,之后就可以在Android Market上销售他们的软件作品了,并从每次交易中获得70%的利润,这类似于苹果的销售模式,不同的是,交易所得的其它利润将属于运营商而不是Google[7]。

要想将自己开发的应用上传到Google Android Market上,必须申请market帐号。打开http://market.android.com/publish/signup页面(如图1.8所示),点击右下角的【Create an account now】按钮进入账号注册页面,如图1.9所示,输入基本信息后,并向指定手机号发送确认码。在用户输入正确的确认码后,注册成功。

图1.8 Android Market

图1.9 在Android Market上注册成为会员

之后,需要按照Market的规定,缴纳一定的费用,如图1.10所示。完成汇款后,就可以看到控制台并可以上传Android应用软件了。

图1.10 缴纳注册费用

1.8 Android 4.0简介

2011年10月19日,谷歌与三星联手在中国举办发布会。本次会展不仅要对外正式发布新机Galaxy Nexus,同时还有另外一个备受关注的就是Android 4.0系统,代号为“冰淇淋三明治”(Ice Cream Sandwich)。Android 4.0版正式发布后,意味着此前专门针对平板电脑的“蜂巢”(Honeycomb)系统和针对智能手机的“姜饼”(Gingerbread)系统合二为一。下面列出部分和手机软件开发相关的新特性[19]。

1. 虚拟按键,增大屏幕面积同时控制手机整体大小。

2. 桌面插件Widgets列表呈现在标签页中,与程序列表类似并且共存:程序列表现在支持切换至桌面插件列表,插件列表以缩略图展示实际显示效果,拖动至桌面即可使用。

3. 文件夹更容易创建和管理,与iOS类似:新版文件夹功能非常简单,只需要拖动一个图标到另一个图表上,就能集合成一个文件夹,然后可以重命名文件夹,并整理图标快捷方式,支持快速拨号、文件等内容放入文件夹,这有点类似于iOS。

4. 可定制的桌面系统:桌面功能增加可定制项目,比如屏幕底部的快捷栏,默认三个按钮,你可以增加至五个,并且定义每个按钮的功能,可以是程序、联系人、快速拨号以及文件夹等。

5. 可视语音邮件:应用,可集成在通话记录中显示,包括语音信箱留言、可视留言等内容,与语音通话记录同时显示。

6. 日历支持缩放操作:日期切换更加方便,可以放大查看详细日程,支持双指缩放操作。

7. Gmail离线搜索,两行预览,以及底部新快捷栏:收件箱字体得到更换,图标、布局均重新设计,底部快捷栏可以写邮件、搜索、访问标签,加入离线搜索支持,收件箱显示两行文字预览,左右滑动切换Gmail会话。

8. 新的Roboto字体:显示效果更加清晰美观,与整个界面系统完美融合。

9. 流量控制系统:系统内置流量统计,可以显示某一时段内流量使用记录,支持设置限额报警和自动断网,可以查看单个程序流量使用记录并禁用其后台流量使用权限。

10. 人脸识别,刷脸解锁:人脸识别功能得到应用,比如解锁,可以在设置之后自拍进行屏幕解锁。

11. 内置照片编辑器:功能比较强大,可以进行裁剪、美化、调色等修改。

12. 新的图库布局和组织方式:全新的图库设计,可以自动按照主题、地理位置、人脸识别等方式组织照片的排列显示。

13. 联系人应用整合社交网络信息:新版联系人程序功能更加丰富,可以集成社交网络信息,内置状态更新,可查看高清图像,可以快速发送邮件。

14. Android Beam:基于NFC的Android Beam功能可以让两部手机交换网站、联系人、导航、视频等,甚至官方电子市场的下载链接。

1.9 本章小结

Android智能手机在市场上拥有巨大的发展潜力,值得应用程序开发人员重视。Android SDK提供了在Windows/Linux/Mac平台上开发Android应用程序的相应的开发组件,含有在Android平台上开发应用程序的工具集。借助于Android SDK提供的四层架构以及相应工具的支持,程序开发人员可以方便地开发Android应用程序。

在进行应用程序开发时,一般需要在Eclipse中使用Java语言开发,之后Android中的RunTime的Dalvik虚拟机将其转换运行dex字节码,应用程序的使用界面UI需要通过XML和Java程序设计来实现,Android Market则提供了发布、交流应用程序的窗口。

思考与实践

1、Android SDK由基层基础架构所组成?各层的主要功能、组成各是什么?

2、参阅本书附录,了解Eclipse的使用,了解在Eclipse中建立、运行、调试Java应用程序的方法,了解Eclipse插件(如Log4j)的添加与使用方法。

3、参阅本书附录,了解XML技术,熟悉XML文档的组成成分及其作用等。

4、由于Android应用程序是使用Java语言编写的,因此具备Java技术方面的经验是必需的。请了解Java中有关字符串操作、流与文件读写等的方法。下载本文

显示全文
专题