第1章Android开发入门1项目任务:通过学习Android相关历史及开发环境的搭建,完成第一个简单应用程序的设计与开发,并理解Android项目中各个文件及目录的功能。2项目要求:掌握Android开发环境的搭建方法。在Eclipse软件上设计并运行自己的第一个程序。了解Android项目的结构及各个文件的功能。掌握Android系统四大组件的基本功能。1.1Android的发展及历史1.1.1Android系统简介Android是一种以Linux为基础的开放源码操作系统,它主要应用于便携设备。Android股份有限公司于2003年在美国加州成立,在2005年被Google收购。2012年的数据显示,仅正式推出四年操作系统的Android已经超越称霸十年的诺基亚Symbian系统,2011年后已经和苹果IOS系统一起,跃居成为全球最受欢迎的智能手机平台之一。Android一词最早出现于法国作家利尔亚当(AugusteVilliersdelIsle-Adam)在1886年发表的科幻小说《未来夏娃》(Lèvefuture)中。他将外表像人的机器起名为Android,于是就有了这个可爱的小机器人。1.1Android的发展及历史Android1.1是在2008年9月发布的第一款Android系统,2008年9月22日,美国运营商德国T-Mobile在纽约正式发布第一款Android手机——T-MobileG1。该款手机为台湾宏达电(HTC)代工制造,是世界上第一部使用Android操作系统的手机,支持WCDMA/HSPA网络,理论下载速率7.2Mbit/s,并支持Wi-Fi。Android1.5操作系统代号Cupcake(纸杯蛋糕),发布时间为2009年4月30日,以甜品命名的系统是从Android1.5开始,该系统主要的更新在于采用了WebKit技术的浏览器,它支持在页面中进行复制/粘贴以及搜索等功能;系统还支持立体蓝牙耳机连接,改善了自动配备的性能,使其更加稳定。1.1Android的发展及历史Android1.6操作系统发布时间为2009年9月15日,该系统代号Donut(甜甜圈),主要更新是支持更高的屏幕分辨率,支持OpenCore2引擎;支持CDMA网络以及优化拍照程序。Android2.0系统发布时间为2009年10月26日,随后的升级版Android2.0.1、Android2.1均称为Eclair(松饼),该系统优化了硬件支持,支持更高的屏幕分辨率;系统界面也发生了变化,运行更流畅;支持HTML5。1.1Android的发展及历史Android2.2操作系统发布时间为2010年5月20日,与随后的升级版Android2.2.1统称为Froyo(冻酸奶)。该系统主要是对系统进行优化,增加了App2Sd功能。Android2.3操作系统发布时间为2010年12月7日,该系统代号为Gingerbread(姜饼),这也是目前国内市场占有率最高的系统。该系统优化了系统界面,使其操作更加流畅;加入复制/粘贴功能;支持前置摄像头以及NFC技术。1.1Android的发展及历史Android3.0/3.1/3.2操作系统是谷歌在2011年中发布的,3.X系列的版本统称为Honeycomb(蜂巢)。这一系列的更新主要是针对平板设备,让Android系统可以更好的支持平板。在2011年10月19日,Google发布了全新的Android4.0操作系统,系统代号为IceCreamSandwich(冰激凌三明治),该系统将手机与平板设备进行整合,拥有全新的UI界面以及Linus内核,支持虚拟按键。Android4.1操作系统发布时间为2012年6月28日,系统代号为JellyBean(果冻豆),Android4.1操作系统引入了三重缓冲显示技术,让界面更加流畅,功能方面也有增加。1.1Android的发展及历史1.1.3Android系统框架架构1.Linux内核(Kernel)Android的核心系统服务依赖于Linux2.6内核,如安全性,内存管理,进程管理,网络协议栈和驱动模型。Linux内核也同时作为硬件和软件栈之间的抽象层。1.1Android的发展及历史2.系统运行库(Libraries)程序库Android包含一些C/C++库,这些库能被Android系统中不同的组件使用。它们通过Android应用程序框架为开发者提供服务。以下是一些核心库:媒体库、SurfaceManager、LibWebCore、SGL、3Dlibraries、FreeType、SQLite1.1Android的发展及历史Android运行库Android包括了一个核心库,该核心库提供了Java编程语言核心库的大多数功能。每一个Android应用程序都在它自己的进程中运行,都拥有一个独立的Dalvik虚拟机实例。Dalvik被设计成一个设备可以同时高效地运行多个虚拟系统。Dalvik虚拟机执行.dex的Dalvik可执行文件,该格式文件针对小内存使用做了优化。同时虚拟机是基于寄存器的,所有的类都经由Java编译器编译,然后通过SDK中的“dx”工具转化成.dex格式,并由虚拟机执行。Dalvik虚拟机依赖于Linux内核的一些功能,比如线程机制和底层内存管理机制。1.1Android的发展及历史3.应用程序框架(ApplicationFramework)开发人员也完全可以访问核心应用程序所使用的API框架。该应用程序的架构设计简化了组件的重用;任何一个应用程序都可以发布它的功能块,并且任何其它的应用程序都可以使用其所发布的功能块(不过得遵循框架的安全性限制)。同样,该应用程序重用机制也使用户可以方便的替换程序组件。1.1Android的发展及历史隐藏在每个应用程序后面的是一系列的服务和系统,其中包括:视图(Views)内容提供器(ContentProviders)资源管理器(ResourceManager)通知管理器(NotificationManager)活动管理器(ActivityManager)1.1Android的发展及历史4.应用程序(Applications)Android系统会和一个核心应用程序包一起发布,该应用程序包包括Email客户端、SMS短消息程序、日历、地图、浏览器、联系人管理程序等。所有的应用程序都是用Java编写的,另外我们从网络下载的,或者我们自己开发的应用程序也都属于这一部分。1.1Android的发展及历史1.2.1Android开发简介Android(安卓)是Google开发的基于Linux平台的开源手机操作系统。Android的应用程序一般使用Java语言编写,当然也有NDK的开发方式,会涉及C/C++。在开发过程中,有众多的样本应用和开源应用提供下载,并且IDE(集成开发环境)使用Eclipse,这种集成开发环境有丰富的源代码模板,用户可以在源码的基础上进行程序的编写,这使得程序开发的难度大为降低。1.2Android开发环境搭建1.2.2安装JDK进入网址,如图所示:1.2Android开发环境搭建作为开发人员,这里选择JDK而不是JRE,因此当单击JDK的图标并选择相应版本后,JDK就开始下载了。32位的Windows系统用户点击jdk-7u7-windows-i586.exe,64位的Windows系统用户点击jdk-7u7-windows-x64.exe。下载后可以得到.exe的可执行程序,这是一个安装程序,用户只需要运行该程序就可以完成JDK的安装。当然用户在安装过程中可以指定安装的路径,但是一般推荐使用默认路径(一直单击下一步)安装即可,最后检查是否安装成功。1.2Android开发环境搭建单击计算机的“开始”,选择“运行”,在出现的对话框中输入“CMD”命令,打开CMD窗口,在CMD窗口中输入“java–version”,如图所示,如果屏幕出现下面的代码信息,说明JDK已经安装成功了。如果不成功,通常是环境变量设置不正确,现在Windows平台的JDK都是做好的安装包,一般正常安装后都没有问题。1.2Android开发环境搭建1.2.3安装Eclipse第一次安装Android开发平台,现有一个非常方便的方法,在android开发网站()上直接下载一个ADT综合包文件(adt-bundle-windows-x86-20130219.zip),这个包文件内有必要的AndroidSDK的组件和一个内置了ADT(AndroidDevelopmentTools)插件的新版本Eclipse。下载完成后,解压缩到一个目录下,打开其中的Eclipse目录,找到eclipse.exe这个文件发送到桌面后,就可以直接开发程序了(可以省略下面的Eclipse安装、SDK下载和配置以及ADT安装三个步骤)。1.2Android开发环境搭建如果你已经安装了部分开发工具,或者你想一步一步的进行安装配置,具体的方法如下面所述。Eclipse下载的主页面为:,如图所示,Eclipse的页面默认版本为Windows平台,如果想选择其他平台例如Linux平台,鼠标点击右上角的下拉框进行选择(共三种平台Windows、Linux和MacOSX)。默认版本为当前正式最新发布的正式版本3.7.2,代号Indigo。如果想下载以前的老版本,可以鼠标点击左上方的OlderVersions链接去下载老版本。这里列表列出了多个版本,是因为Eclipse具有良好的扩展性,因此很多可用于Eclipse的应用插件被开发出来,为了节省用户下载相关插件的工作量,所以对目前常用的几类开发插件进行了打包处理。1.2Android开发环境搭建这里稍微介绍一下:EclipseClassic是标准的Eclipse版本,只包括基本的插件,不包括相关的特殊插件,通常称之为最干净的Eclipse版本,一般建议下载并安装此版本。下载时,仍需注意Windows的版本问题,建议和JDK版本相匹配。下载后的文件是zip压缩格式,解压缩后就可以直接运行eclipse.exe这个可执行文件,因为它经常使用,所以建议在桌面上建立一个Eclipse快捷方式。1.2Android开发环境搭建1.2.4配置Android开发环境在Eclipse中配置Android开发环境主要包括ADT(AndroidDevelopmentTools)和AndroidSDK(AndroidDevelopmentKit)两部分。首先进行AndroidSDK的下载,下载网址是。如图所示,进行下载的设置。1.2Android开发环境搭建点击“DownloadtheSDKforWindows”按钮进行下载,得到installer_r20.0.3-windows.exe安装程序。下载后按步骤进行安装,选择合适的目录。安装结束后,会出现SDK更新页面,建议选择SDK4.1(API16)版本和SDK2.3.3(API10)的相关目录进行更新,建议Android开发文档(DocumentationforAndroid)和例程(SampleforSDK)一定要安装,这些内容可以为用户提供很多参考。这个更新界面也可以在Eclipse中安装好ADT插件后,利用打开SDK管理器的方法打开,安装完SDK后,我们必须要把SDK关联到Eclipse开发环境中去,也就是让在Eclipse中开发的项目能找到所用的SDK相关文件。1.2Android开发环境搭建从E