第3章Android应用程序.ppt
《第3章Android应用程序.ppt》由会员分享,可在线阅读,更多相关《第3章Android应用程序.ppt(66页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第第3章章 Android应用程序应用程序本章学习目标:n掌握使用Eclipse开发Android应用程序的方法n掌握Android虚拟设备的创建方法n了解R.java文件的用途和生成方法n了解AndroidManifest.xml文件的用途n了解Android的程序结构n了解使用命令行创建Android应用程序方法3.1 第一个Android程序n创建Android工程q在Eclipse程序中建立过的Android工程,工程名称和目录结构将显示在Package Explorer区域内3.1 第一个Android程序n创建Android工程q打开Android工程向导:nFileNewProj
2、ectAndroidAndroid ProjectnFile NewOther AndroidAndroid Project 3.1 第一个Android程序n创建Android工程q填写工程名称:n工程名称必须唯一在Project name中填入HelloAndroidn新建的工程被保存在缺省的工作空间中n也可以取消“Use default location”的复选框,选择其它位置保存Android工程3.1 第一个Android程序n创建Android工程q选择程序运行的Android系统版本q除了在“Platform”中标识Android系统的版本外,还有一个“API Level”的属性
3、。3.1 第一个Android程序n填写应用程序名称(Application name)n包名称(Package name)是包的命名空间,需要遵循Java包的命名方法。q包名称由两个或多个标识符组成,中间用点隔开,例如hrbeu.HelloAndroid。3.1 第一个Android程序n点击“Finish”按钮,工程向导会根据用户所填写的Android工程信息,自动在后台创建Android工程所需要的基础文件和目录结构。q建过程结束3.1 第一个Android程序nAndroid虚拟设备(AVD)q为了让Android程序能够正常运行,必须首先建立Android虚拟设备(Android V
4、irtual Device,AVD)n通过Eclipse的WindowAVD Manager启动AVD管理器n在AVD管理器点击“New”,打开AVD创建界面n完成AVD的配置后,点击“Create AVD”保持AVD的配置信息,然后在AVD管理器点击“Start”按钮启动Android模拟器。3.1 第一个Android程序n启动Android模拟器前配置q启动Android模拟器前用户还需在Launch Options中确认启动项q包括将显示尺寸缩放到实际屏幕尺寸和删除模拟器中原有数据q以及从快照点启动和存储快照等 3.1 第一个Android程序n使用Eclipse运行Android程序
5、非常简单qRunRun|Android ApplicationqRunDebug|Android Application便可运行Android程序 nHelloAndroid程序的运行结果 3.1 第一个Android程序n运行选项配置q通过RunRun Configurationq通过RunDebug Configuration 3.2 Android程序结构n建立HelloAndroid程序q在建立HelloAndroid程序的过程中,ADT会自动建立一些目录和文件q这些目录和文件有其固定的作用,有的允许修改,有的不能修改。3.2 Android程序结构n说明q在“Package Expl
6、ore”中,ADT以工程名称HelloAndroid作为根目录,将所有自动生成的和非自动生成的文件都保存在这个根目录下n子目录、库和工程文件q根目录下包含5个子目录src、gen、assets、bin和resq1个库文件android.jarq3个工程文件Androidmanifest.xml、project.properties和proguard.cfg。3.2 Android程序结构nsrc目录qsrc目录是源代码目录,所有允许用户修改的java文件和用户自己添加的java文件都保存在这个目录中 n工程建立初期qHelloAndroid工程建立初期,ADT根据用户在工程向导中的“Creat
7、e Activity”选项,自动建立HelloAndroid.java文件 3.2 Android程序结构ngen目录qgen目录用来保存ADT自动生成的java文件q例如R.java或AIDL文件。这个目录中的文件不建议用户进行任何修改,如果用户删除该目录中的文件,ADT会自动再次生成被删除的文件。3.2 Android程序结构nassets目录qassets目录用来存放原始格式的文件n例如音频文件、视频文件等二进制格式文件。q此目录中的资源不能够被R.java文件索引,因此只能以字节流的形式进行读取。缺省为空目录。3.2 Android程序结构nbin目录qbin目录保存了编译过程中的所产
8、生的文件,以及最终生产的apk文件。nres目录qres目录是资源目录,Android程序所有的图像、颜色、风格、主题、界面布局和字符串等资源都保存在其下的几个子目录中。q其中,drawable-hdpi、drawable-mdpi和drawable-ldpi目录用来保存同一个程序中针对不同屏幕尺寸需要显示的不同大小的图像文件3.2 Android程序结构nres目录qlayout目录用来保存与用户界面相关的布局文件qvalues目录保存颜色、风格、主题和字符串等资源。q在HelloAndroid工程中,ADT在每个drawable目录中自动引入了一个不尺寸的icon.png文件,Androi
9、d系统会根据目标设备的屏幕分辨率,为HelloAndroid程序加载不同尺寸的图标文件;在layout目录生成了mail.xml文件q在values目录生成了strings.xml文件,将应用程序名称“HelloAndroid”和界面显示的“Hello World,HelloAndroidActivity!”保存在这个文件中。3.2 Android程序结构nandroid.jar文件qandroid.jar文件是Android程序所能引用的函数库文件,Android系统所支持API都包含在这个文件中,nproguard.cfg文件qproguard.cfg文件是供ProGuard工具进行代码优
10、化和代码混淆使用的配置文件。nroject.properties文件qroject.properties文件记录了Android工程的相关设置,例如编译目标和apk设置等,该文件不能手工修改3.2 Android程序结构nroject.properties文件q如果需要更改其中的设置,必须通过右键单击工程名称,选择“Properties”进行修改过。q从project.properties文件的代码中可以发现,大部分都是内容注释,仅有第12行是有效代码,说明了Android程序的编译目标nproject.properties文件的代码如下:1.#This file is automatical
11、ly generated by Android Tools.2.#Do not modify this file-YOUR CHANGES WILL BE ERASED!3.#4.#This file must be checked in Version Control Systems.5.#6.#To customize properties used by the Ant build system use,7.#build.properties,and override values to adapt the script to your8.#project structure.9.#Pr
12、oject target.10.target=android-143.2 Android程序结构nAndroidManifest.xml qAndroidManifest.xml是XML格式的Android程序声明文件n包含了Android系统运行Android程序前所必须掌握的重要信息,这些信息包括应用程序名称、图标、包名称、模块组成、授权和SDK最低版本等 3.2 Android程序结构nAndroidManifest.xml文件的代码如下:1.2.6.8.10.11.12.13.14.15.16.17.3.2 Android程序结构nAndroidManifest.xml文件qmanif
13、est元素仅能包含一个application元素,application元素中能够声明Android程序中最重要的四个组成部分n包括Activity、Service、BroadcastReceiver和ContentProvider,所定义的属性将影响所有组成部分 3.2 Android程序结构nactivity元素activity元素q是对Activity子类的声明,不在AndroidManifest.xml文件中声明的Activity将不能够在用户界面中显示。nintent-filter qintent-filter中声明了两个子元素action和category。nR.java文件qR.
14、java文件是ADT自动生成的文件n包含对drawable、layout和values目录内的资源的引用指针,Android程序能够直接通过R类引用目录中的资源。3.2 Android程序结构nHelloAndroid工程生成的R.java文件的代码如下:1.package edu.hrbeu.HelloAndroid;2.public final class R 3.public static final class attr 4.5.public static final class drawable 6.public static final int icon=0 x7f020000;7
15、.8.public static final class layout 9.public static final int main=0 x7f030000;10.11.public static final class string 12.public static final int app_name=0 x7f040001;13.public static final int hello=0 x7f040000;14.15.3.2 Android程序结构n引用资源 资源引用有两种情况:一种是在代码中引用资源;另一种是在资源中引用资源q代码中引用资源,需要使用资源的ID,可以通过R.res
16、ource_type.resource_name或android.R.resource_type.resource_name获取资源IDnresource_type代表资源类型,也就是R类中的内部类名称nresource_name代表资源名称,对应资源的文件名或在XML文件中定义的资源名称属性q资源中引用资源,引用格式:package:type:namen表示对资源的引用npackage是包名称,如果在相同的包,package则可以省略3.2 Android程序结构nmain.xml文件qmain.xml文件是界面布局文件,利用XML语言描述的用户界面,界面布局的相关内容将在第5章用户界面设计
17、中进行详细介绍。nmain.xml文件的代码如下:1.2.7.12.3.2 Android程序结构nmain.xml文件q代码的第7行说明在界面中使用TextView控件,TextView控件主要用来显示字符串文本。q代码第10行说明TextView控件需要显示的字符串,非常明显,string/hello是对资源的引用 3.2 Android程序结构nStrings.xml文件的代码q通过strings.xml文件的第3行代码分析,在TextView控件中显示的字符串应是“Hello World,HelloAndroidActivity!”。q如果读者修改strings.xml文件的第3行代码
18、的内容,重新编译、运行后,模拟器中显示的结果也应该随之更改。1.2.3.Hello World,HelloAndroidActivity!4.HelloAndroid5.3.2 Android程序结构nHelloAndroid.javaq HelloAndroid.java是Android工程向导根据Activity名称创建的java文件q这个文件完全可以手工修改。q为了在Android系统上显示图形界面,需要使用代码继承Activity类q并在onCreate()函数中声明需要显示的内容 3.2 Android程序结构nHelloAndroid.java文件的代码如下:q代码的第3行和第4行
19、,通过android.jar从Android SDK中引入了Activity和Bundle两个重要的包,用以子类继承和信息传递;1.package edu.hrbeu.HelloAndroid;2.import android.app.Activity;3.import android.os.Bundle;4.public class HelloAndroid extends Activity 5./*Called when the activity is first created.*/6.Override7.public void onCreate(Bundle savedInstance
20、State)8.super.onCreate(savedInstanceState);9.setContentView(R.layout.main);10.11.3.2 Android程序结构nHelloAndroid.java文件q第6行声明HelloAndroid类继承Activity类;q第8行表明需要重写onCreate()函数;q第9行的onCreate()会在Activity首次启动时会被调用,为了便于理解,可以认为onCreate()是HelloAndroid程序的主入口函数;q第10行调用父类的onCreate()函数,并将savedInstanceState传递给父类,sav
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Android 应用程序
限制150内