Android开发教程第一章Android概述第二章Android开发环境搭建第三章Android的HelloWorld应用程序第四章Android用户界面开发第五章Android数据存储开发第六章Android开发实例第一章Android概述1.1什么是Android1.2Android的体系结构1.3Android的应用程序组件Android的发展Android一词的本义指“机器人”,2003年美国有一家以Android为名的小公司成立,开发手机平台。Google在2005年收购Android之后,继续进行对Android系统开发。Google于2007年11月5日发布了开源的Android平台,并组建了开放手机联盟(OpenHandsetAlliance),包括Google、中国移动、T-Mobile、宏达电、高通、摩托罗拉等领军企业Android的发展在Google及其开放手机联盟推出基于Linux平台的开源手机操作系统Android之后,Google又不惜重金举办了Android开发者大赛,吸引了众多开发者的目光。因为Android不仅功能强大,而且具有开放和免费等先天优势,所以全球范围内的电信行业、手机制造商更是毫不犹豫地加入到Android开放手机联盟中来。2008年9月22日,美国运营商T-MobileUSA在纽约正式发布了第一款基于Android操作系统的手机——T-MobileG1,这让更多的移动设备厂商看到了Android的光明前景都纷纷加入其中,甚至Android已经涉足上网本市场。中国移动也在Android的基础之上推出了自己的操作系统OMS。Android的发展2009年1季度G1销售100万支2009.3MWC华为发布Android手机Moto,三星,LG计划2009年下半年推出Android手机2009获得Orange,Vodafone,O2,Telefonica支持2009进军上网本Android的特点开放性应用程序无界限应用程序是在平等的条件下创建的应用程序可以轻松地嵌入网络应用程序可以并行运行Android的特点应用程序无界限:Android上的应用程序可以通过标准API访问核心移动设备功能。通过互联网,应用程序可以声明它们的功能可供其他应用程序使用。Android的特点应用程序是在平等的条件下创建的:移动设备上的应用程序可以被替换或扩展,即使是拨号程序或主屏幕这样的核心组件。Android的特点应用程序可以轻松地嵌入网络:应用程序可以轻松地嵌入HTML、JavaScript和样式表,应用程序还可以通过WebView显示网络内容。1.1什么是AndroidAndroid是一款针对移动设备的软件堆栈,其中包括操作系统(基于Linux内核)、中间件和关键应用程序。基于Android平台的应用程序的开发,可以在AndroidSDK(SoftwareDevelopmentKit,软件开发工具包)的帮助下使用Java语言来完成。AndroidSDK为我们提供了一组必要工具包和的API(ApplicationProgrammingInterface,应用程序编程接口)。1.1什么是AndroidAndroid采用Linux为操作系统,所以系统程序包含了C语言的标准函数库。应用程序主要以Java语言在DalvikVM虚拟机上执行。应用程序开发环境以Eclipse为主,加上AndroidDevelopmentTools(ADT)插件及AndroidSDK。Android平台的主旨是提供一个应用程序架构(ApplicationFramework),好让各家OEM厂商可不必从头进行软件开发,就能推出一系列的Android平台手机。Android通常拥有的特性(1)Applicationframework:提供可重复使用及改写的组件。(2)Dalvikvirtualmachine:提供给移植设备一个优化过的Java虚拟机。(3)Integratedbrowser:基于开放源码的WebKit引擎的一个浏览器,像Mac上的Safari也是从WebKit衍生出来的。(4)Optimizedgraphics:优化过的绘图函数库,包含了SGL的2D绘图函数库及基于OpenGLES1.0规范的3D绘图函数库。(5)SQLite:一个结构化的数据库系统。Android通常拥有的特性(6)Mediasupport:多媒体影音格式的支持,包含了MPEG4,H.264,MP3,AAC,AMR,JPG,PNG,GIF。(7)GSM:GSM手机的通话能力其实必须在硬件电路层次实现,软件层次无法实现,只是Android平台要求必须要有GSM通话能力,此项功效特点与其说是特性,不如说是订立出最低的硬件要求规范。(8)Bluetooth,EDGE,3G,Wi-Fi,camera,GPS,compass,andaccelerometer:同GSM一样,它必需由实际硬件决定是否支持。(9)Richdevelopmentenvironment:包含了设备模拟器,调试工具,内存及性能评估分析工具及让EclipseIDE支持Android项目的插件。1.2Android的体系结构Android的体系结构分成(1)Applications,(2)ApplicationFramework,(3)Libraries,(4)AndroidRuntime,(5)LinuxKernel五大部分。Android本身是一套软件堆栈(SoftwareStack),或称为“软件迭层架构”,迭层主要分成三层:操作系统、中间件(Middleware)、应用程序。想开发可在Android平台上运行的应用程序,可用Java程序语言编写。1.2Android的体系结构ApplicationsAndroid系统自带的应用程序通常包含有电子邮件程序、短信程序、日历、地图、浏览器、通讯录程序等,所有的应用程序都由Java语言编写。ApplicationFramework应用程序开发人员在编写应用程序时可以完整的使用统一的API接口。这个应用程序框架是可以容易重复使用各种组件,这样应用程序就可以只需提供出它自己本身的特殊功能。应用程序还可以较容易的去使用其它程序的特殊功能。这种统一机制,有助于开发人员去编写自己新的软件组件,而不用编写一些已经存在的重复代码,提高开发效率。ApplicationFramework组件(1)ViewsSystem(视图系统)(2)ContentProviders(内容提供器)(3)ResourceManager(资源管理器)(4)NotificationManager(通知管理器)(5)ActivityManager(活动管理器)ApplicationFramework组件(6)WindowManager(窗口管理器)(7)LocationManager(定位管理器)(8)TelephonyManager(电话管理器)(9)PackageManager(包管理器)(10)XMPPService:eXtensibleMessagingandPresenceProtocolLibraries(1)SystemClibrary:一个由BSD衍生出来的标准C系统函数库(libc),这个函数库已针对Linux嵌入式设备进行过优化。(2)MediaLibraries:基于PacketVideo'sOpenCORE的多媒体函数库;这个多媒体函数库支持播放和录制许多现在很流行的声音及影像格式。比如:MPEG4,H.264,MP3,AAC,AMR,JPG及PNG。(3)SurfaceManager:这个部份让开发者可以去存取显示系统,以及无接缝的实现2D/3D多应用程序之间的整合。(4)LibWebCore:一个先进的网页浏览器引擎。(5)SGL:2D图形引擎库。Libraries(6)3DLibraries:一个基于OpenGLES1.0规范的3D图像引擎库。它可以选择硬件的3D加速或高度优化的3D软件程序去实现效果。(7)FreeType:位图及矢量字形。(8)SQLite:SQLite是一套开放源码的关系数据库,供Android上所有的应用程序使用。其特点在于轻量型(仅500KB左右的大小),适合手持式设备使用;此外桌面型计算的应用程序也有使用,如OpenOffice.org2.0版之后就有内建的SQLite。(9)SSL-SecureSocketLayer,专门用于保护网页通讯的协议。AndroidRuntimeAndroid虽然使用Java程序语言来开发、编写应用程序,但却不使用一般大家目前在用的JavaRuntime(J2ME)版本来执行Java程序,而是用Android自有的AndroidRuntime来执行。AndroidRuntime包含下面两个核心。(1)CoreLibraries(2)DalvikVirtualMachineLinuxKernelAndroid平台的操作系统使用的是Linux,其核心版本为2.6版Android所用的Linux核心,包含的功能主要有:安全(Security)、内存管理(MemoryManagement)、进程管理(ProcessManagement)、网络堆栈(NetworkStack)、驱动程序模型(DriverModel)等另外在前述的软件堆栈与硬件间建立起一个抽象层(AbstractionLayer)。1.3Android的应用程序组件ActivityServiceContentProviderBroadcastReceiver第二章Android开发环境搭建2.1下载并安装JDK2.2下载并安装SDK2.3下载并安装eclipse2.4下载并安装ADT工具包关系Android的开发环境指用于开发Android应用程序所需要的基本的开发工具,主要包括四个部分,分别是JDK、eclipse、ADT及AndroidSDK。JDK/JREOSeclipseAndroidSDKADT2.1下载并安装JDK(1)下载最新的JDK,下载地址为:(2)安装JDK(3)配置JDK2.1下载并安装JDK(4)测试JDK2.2下载并安装SDK(1)下载AndroidSDK,我们可以到(2)安装AndroidSDK2.2下载并安装SDK(3)下载AndroidSDK的其他组件2.2下载并安装SDK(4)配置AndroidSDK2.2下载并安装SDK(5)测试AndroidSDK的配置2.3下载并安装eclipse(1)下载eclipse2.3下载并安装eclipse(2)安装eclipse2.4下载并安装ADTADT是Google为Android开发者提供的Eclipse插件,可以很方便的开发应用程序,下面我们来安装和安装ADT插件,步骤如下:(1)下载ADT。我可以在(2)安装ADT2.4下载并安装ADT(3)配置ADT第三章HelloWorld应用程序3.1创建HelloWorld应用程序3.2应用程序结构分析3.3调试应用程序3.4导入已存在项目3.1创建HelloWorld应用程序ADT提供了简单的生成Android应用框架的功能,我们现在使用ADT通过Eclipse创建一个Android工程。在创建工程之前,首先要有一个运行应用程序的环境,可以是真实的Android手机,也可以是模拟器。这里使用模拟器的方式,即使用AVD来运行我们的应用程序。什么是AVD从Android1.5开始引入了AVD(AndroidVirtualDevice)这个概念。AVD是一