Android_SDK开发范例完整版.txt2008太不正常了,一切都不正常!在这个关键时刻,中国男足挺身而出,向全世界证明:中国男足还是正常的!本文由kingwj6贡献pdf文档可能在WAP端浏览体验不佳。建议您优先选择TXT,或下载源文件到本机查看。GoogleAndroidSDK开发范例大全第二章:Android初体验Android操作系统顶着Google与OpenHandsetAlliance的光环,让很多程序员在Android手机还没上市之前,就开始紧追着官方文档、EarlySDK版本更新,这是IT业界罕见的现象,因为大家都抱持着“不想输在起跑点上”的心态。这也是手机发展的历史中,第一次有机会让所有的程序员站在同一个起跑点开始,无论是JavaWorld论坛、或是Google官方的DeveloperDiscussionGroup都见到相当热烈的讨论。从这一章开始,将对Android的程序架构、程序进入点、编译以及执行,进行一系列的导航,而本书规划之初,并非针对Java初学者或从未接触过程序设计的朋友所设计,故在这一章简要的overview当中,则以快速掌握开发条件、开发环境为目的,若你是第一次接触Java程序语言,或从未写过面向对象程序设计,建议你先学习Java语言,打好基础后,再回过头来进入本章。接下来的内容分成五个部分:安装AndroidSDK、创建Android手机开发项目(Project)、了解Android程序的生命周期,初探可视化的开发工具,最后将应用程序部署到模拟器和Android手机上,为避免过于概念性的论述及篇幅的浪费,所有操作练习皆以步骤的方法描述,只要跟着操作即可上手,在体验完本章的内容之后,你就可以开始本书范例的学习之旅了。在开始之前,你需要先准备以下作业环境以及程序:必备项目MicrosoftWindowsXP/MicrosoftWindowsVista操作系统或MacOSX10.4.8或更新的版本(硬件必须是x86的版本)或LinuxAndroidSDK1.0r2以上(本书所有范例皆以AndroidSDK1.1r1为开发环境)JavaDevelopmentKit(JDK)v6.0以上Eclipse开发IDE程序(本书所有范例皆以eclipse-jee-ganymede-SR1-win32版本为编译环境)自我检查(ˇ)准备就绪之后,就可以前往Android官方网站()下载AndroidSDK,也可以到()去下载。▲图2-1到Android官方网站下载SDK下载后的AndroidSDK为压缩文件,请将它解压缩到磁盘中,例如下面的文件夹:D:\SDK\android而Eclipse编译IDE环境中,需安装ADT(AndroidDevelopmentTools)plug-in,此为Android的开发工具,启动Eclipse后,请运行“Help—SoftwareUpdatesFindandInstall”,并按下“AddSite”输入ADTplug-in网址后(如下),按下“Install”便开始自动下载安装:▲图2-2安装ADTPlug-in下载后,安装向导会显示两项必须安装的程序:AndroidDevelopmentTools与AndroidEditors。▲图2-3选择安装Android开发工具及编辑器虽然AndroidADT可以免费下载安装,但在使用上仍然有其局限性,跟一般应用程序许可条款的签署类似。▲图2-4同意使用Android软件开发条款安装ADT所需的时间不长,也可以在后台运行,不会影响现有的操作系统程序。安装完毕后,需要重新启动Eclipse,才能使用AndroidADT。▲图2-5可以在后台运行安装ADT,并需要重新启动Eclipse至此AndroidSDK及ADT已安装完毕,所有准备工作都已经就绪,随时可以开始建立Android项目。这一节将建立本书第一个Android项目,不过,在初次建立Android项目之前,需要设置AndroidSDK的路径,让Eclipse可以找到AndroidSDK,先执行“Window—Preferences”。▲图2-6运行Eclipse的Preferences设置功能点击“Android”的树状列表,单击“Browse”按钮,选择刚才解压的AndroidSDK的路径,而后按下“Apply”设置让Eclipse引用的SDK文件夹。▲图2-7设置AndroidPreferences路径AndroidSDK的引用路径设置完成之后,就可以开始建立HelloWorld这个经典范例了;运行“File—NewProject”建立新项目。▲图2-8建立新的项目新建项目向导需要指定一种应用程序类型,故展开“Android”后,点击“AndroidProject”,按下“Next”按钮继续。▲图2-9选择建立项目类型为AndroidProject新建Android项目需输入项目名称(Projectname)、Packagename、Activityname以及Applicationname,最后按下“Finish”按钮,项目随即建立完成。▲图2-10输入项目名称及Packagename建立新项目到目前为止,新建Android项目已经完成,而且这个新建立的程序也已经可以运行,运行的方法是在“PackageExplorer”窗口里,点开刚建立好的“HelloWorld”项目文件夹,并在项目名称上单击鼠标右键,在功能菜单上运行“RunAs>AndroidApplication”功能。▲图2-11运行“RunAs—AndroidApplication”功能假若此时尚未将手机与计算机联机,那么Eclpise将打开默认的Android模拟器(Emulator),运行画面就如同真的手机开机一样,随着计算机硬件环境的不同,运行模拟器也会有不同的性能表现,开机之后,随即打开刚建立好的HelloWorld程序。▲图2-12没写一行程序的HelloWorld要退出被启动的“HelloWorld”程序,可以按下手机模拟器上的退格键(Backspace)。▲图2-13按下退格键离开程序,回到手机的桌面虽然半行代码都没有写,但向导却帮忙写好了程序进入点、布局配置、字符串常数、应用程序访问权限等,除了可作为程序模板之外,也是Android手机程序的最佳学习范例。让我们回过头来看看刚才Android项目建立向导帮忙做了哪些工作,以此来了解Android应用程序的生命周期及其文件组成方式;首先,展开“PackageExplorer”窗口里的“HelloWorld”项目名称,可以看见如下数据结构的文件:+HelloWorld+-src+-helloworld.irdc.eracom.com.cn+-HelloWorld.java+-R.java+-AndroidLibrary+-android.jar-D:\SDK\android+-assets+-res+-drawable+-icon.png+-layout+-main.xml+-values+-strings.xml+-AndroidManifest.xml在展开的文件夹层中,“src”、“AndroidLibrary”、“assets”、“res”与“AndroidManifest.xml”同属一层,放置在“\src”里的为主程序、程序类(class);放置在“\res”里的为资源文件(ResourceFiles),如程序ICON图标、布局文件(\layout)与常数(\values)。以此HelloWorld程序为例,主程序为“HelloWorld.java”,其内容与一般Java程序格式相类似:packagehelloworld.irdc.eracom.com.cn;importandroid.app.Activity;importandroid.os.Bundle;publicclassHelloWorldextendsActivity{/**Calledwhentheactivityisfirstcreated.*/@OverridepublicvoidonCreate(BundlesavedInstanceState){super.onCreate(savedInstanceState);setContentView(R.layout.main);}}主程序里可看见HelloWorld类继承自Activity类,在类中重写了onCreate()方法,在方法内以setContentView()来设置这个Acvitity要显示的布局(R.layout.main),使用布局配置“\layout\main.xml”,布局文件是以XML格式编写的,内容如下:?xmlversion=1.0encoding=utf-8?TextViewandroid:layout_width=fill_parentandroid:layout_height=wrap_contentandroid:text=@string/hello/布局配置中设置了一个TextViewTAG,用以配置文本标签Widget,其内部设置的android:text属性,则是要显示的文字内容,引用“@string”里的hello字符串常数。查看“values/strings.xml”字符串常数设置如下:?xmlversion=1.0encoding=utf-8?resourcesHelloWorld,HelloWorldHelloWorld/resources其中“hello”字符串变量的内容为“HelloWorld,HelloWorld”,这即是刚才看见的HelloWorld程序显示的文字内容了。Android应用程序有以下三种类型:lll前端Activity(ForegroundActivities)。后台服务(BackgroundServices)。间隔执行Activity(IntermittentActivities)。前端Activity就如同这个HelloWorld一样,运行在手机前端程序中;后台服务可能是看不见的系统服务(SystemService)、系统Broadcast(广播信息)与Receiver(广播信息)接收器);间隔执行Activity则类似如进程(Threading)、NotificationManager等等。每一个项目都有一个“AndroidManifest.xml”设置文件,里头包含这个Android应用程序具有哪些Activity、Service或者Receiver,先来看看HelloWorld制作好的“AndroidManifest.xml”设置文件的内容描述:?xmlversion=1.0encoding=utf-8?manifestxmlns:android==helloworld.irdc.eracom.com.twandroid:versionCode=1android:versionName=1.0.0categoryandroid:name=android.intent.category.LAUNCHER//manifest在manifest文件中有一个名为HelloWorld的Activity,设置其intent-filter的categoryandroid:name为android.intent.category.LAUNCHER,写在intent-filter里是指定此Activity为默认运行的主要Activity,除了在manifest文件中手动设置之外,也可在Ec