Android_第3讲_Android应用程序

上传人:hy****d 文档编号:242984095 上传时间:2024-09-13 格式:PPT 页数:51 大小:645.50KB
返回 下载 相关 举报
Android_第3讲_Android应用程序_第1页
第1页 / 共51页
Android_第3讲_Android应用程序_第2页
第2页 / 共51页
Android_第3讲_Android应用程序_第3页
第3页 / 共51页
点击查看更多>>
资源描述
,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,*,单击此处编辑母版标题样式,第,3,讲,Android,1,本章学习目标:,掌握,Eclipse,开发,Android,应用程序的步骤,掌握,Android,虚拟设备的创建方法,了解,Android,的程序结构,了解,AndroidManifest.xml,文件的用途,了解,Android,虚拟机,了解如何向模拟器发送命令,了解,Activity,2,3.1,第一个,Android,程序,创建,Android,工程,打开,Android,工程向导:,ProjectAndroidAndroid Project,或,File NewOther AndroidAndroid Project,3,3.1,第一个,Android,程序,4,3.1,第一个,Android,程序,填写工程名称:工程名称必须唯一,不能与已有的工程重名,在,Project name,中填入,ArdHelloworld,5,3.1,第一个,Android,程序,选择创建方式,可以创建新,Android,工程,也可利用已有代码创建,Android,工程,缺省为创建新,Android,工程;选择“,Create new project in workspace,”,可以使用默认位置存储,也可取消复选框,选择其他位置保存。,6,3.1,第一个,Android,程序,7,3.1,第一个,Android,程序,选择编译目标,(Build Target),。根据系统安装的,Android SDK,,可以根据需要选择不同版本的,API,。,8,3.1,第一个,Android,程序,填写相关信息,应用程序名称,即,Android,程序在手机中显示的名称,显示在手机的顶部。在,Application name,填入,Helloworld,。,包名称是包的命名空间,需遵循,Java,包的命名方法,由两个或多个标识符组成,中间用点隔开。为了包名称的唯一性,可以采用反写电子邮件地址的方式。在,Package,name,填入,com.coffe,9,3.1,第一个,Android,程序,填写相关信息,创建,Activity,是个可选项,如需要自动生成一个,Activity,的代码文件,则选择该项。,Activity,的名称与应用程序的名称不同,但为了简洁,可以让他们相同,表示这个,Activity,是,Android,程序运行时首先显示给用户的界面。例如在本例中,输入,Application name,后,,Activity,会自动生成名称:,HelloworldActivity,。,10,3.1,第一个,Android,程序,填写相关信息,SDK,最低版本是,Android,程序能够运行的最低的,API,等级,如果手机的,API,等级低于程序的,SDK,最低版本,则程序无法在该,Android,系统中运行。在这里,之前选择标准的,1.6,版本的,Android,系统,则,SDK,等级被自动填入,4,,此项无需更改,11,3.1,第一个,Android,程序,Android,虚拟设备(,AVD,),AVD,是对,Android,模拟器进行自定义的配置清单,能够配置,Android,模拟器的硬件列表和外观,支持,Android,系统版本、附件,SDK,库和储存设置等信息。,之前环境配置中已经介绍了在,Eclipse,中,AVD,的创建,这里不再介绍。,12,3.1,第一个,Android,程序,命令行方式:,android,create,avd-n,android1.5,t,2,,以,id,为,2,的,1.5,版本,Android,系统为目标,建立一个名为,Android1.5,的,AVD,-n,参数表明,AVD,的名称,-t,参数表明选择的,Android,系统映像的,id,值,可以直接缺省的硬件配置,当然也可以重新定制模拟器支持的硬件清单,13,3.1,第一个,Android,程序,在建立过程中,,Android,工具会在文件系统中建立,Android1.5.ini,文件和,Android1.5.avd,目录,Android1.5.ini,文件用来保存,Android1.5.avd,目录所在的位置,Android1.5.avd,目录用来保存,AVD,配置文件、用户数据文件、,SD,卡映像和其他模拟器运行过程中可能产生的文件,如果用户使用的是,Windows,XP,系统,则目录保存在,C:Documents,and,Settings.android,下,如果用户使用的是,Windows,Vista,系统,则目录保存在,C:Users.android,下,14,3.1,第一个,Android,程序,Android,程序启动选项,路径:,RunRun Configuration,或,RunDebug,Configuration,配置模拟器的启动选项,可以选择不同的,AVD,、配置网络速度、网络延迟、控制台的字符编码和标准输入输出等内容。一般只需选择正确的,AVD,即可,15,3.1,第一个,Android,程序,16,3.1,第一个,Android,程序,17,3.1,第一个,Android,程序,启动,Android,程序,路径:,RunRun Android Application,或,RunDebug Android Application,在程序调试完毕后,可直接再次运行,Android,程序,以便节约启动模拟器的时间,18,3.1,第一个,Android,程序,19,3.1,第一个,Android,程序,详解第一个,Android,项目源码,见教材,P25-28,20,3.2,Android,程序结构,在建立,Android,工程的过程中,,ADT,会自动建立一些目录和文件,这些目录和文件有其固定的作用,有的允许修改,有的不能修改。下面逐一的介绍。,21,3.2,Android,程序结构,在“,Package,Explore,”中,,ADT,以工程名称(此处为,Helloworld,为例)作为根目录,将所有字段生成的和非自动生成的文件都保存在这个根目录下;,根目录包含四个子目录:,src,、,assets,、,res,和,gen,,一个库文件,android.jar,,以及两个工程文件,Androidmanifest.xml,和,default.properties,;,22,3.2,Android,程序结构,src,目录是源代码目录,所有允许用户修改的,java,文件和用户自己添加的,java,文件都保存在这个目录中;,Android,工程建立初期,,ADT,根据用户在工程向导中的“,Create Activity,”选项,自动建立,HelloworldActivity.java,文件;,23,3.2,Android,程序结构,gen,目录是,1.5,版本开始新增的目录,用来保存,ADT,自动生成的,java,文件,例如,R.java,或,AIDL,文件;,R.java,文件是,ADT,自动生成的文件,包含对,drawable,、,layout,和,values,目录内的资源的引用指针,,Android,程序能够直接通过,R,类引用目录中的资源。,24,3.2,Android,程序结构,R.java,文件不能手工修改,如果向资源目录中增加或删除了资源文件,则需要在工程名称上右击,选择,Refresh,来更新,R.java,文件中的代码,R,类包含的几个内部类,分别与资源类型相对应,资源,ID,便保存在这些内部类中,例如子类,drawable,表示图像资源,内部的静态变量,icon,表示资源名称,其资源,ID,为,0x7f020000,。一般情况下,资源名称与资源文件名相同,25,3.2,Android,程序结构,引用资源,资源引用有两种情况:一种是在代码中引用资源;另一种是在资源中引用资源,代码中引用资源,需要使用资源的,ID,,可以通过,R.resource_type.resource_name,或,android.R.resource_type.resource_name,获取资源,ID,resource_type,代表资源类型,也就是,R,类中的内部类名称,resource_name,代表资源名称,对应资源的文件名或在,XML,文件中定义的资源名称属性,资源中引用资源,引用格式:,package:type:name,表示对资源的引用,package,是包名称,如果在相同的包,,package,可以省略,26,3.2,Android,程序结构,android.jar,文件是,Android,程序所能引用的函数库文件,,Android,通过平台所支持,API,都包含在这个文件中。,assets,目录用来存放原始格式的文件,例如音频文件、视频文件等二进制格式文件。此目录中的资源不能被,R.java,文件索引。所以只能以字节流的形式读取。一般情况下为空。,27,3.2,Android,程序结构,res,目录是资源目录,有三种子目录用来保存,Android,程序所有资源,drawable,相关目录用来保存图像文件,在,SDK1.5,之后,分成了三种目录,见教材,P19,页描述;,layout,目录用来保存与用户界面相关的布局文件;,values,目录保存文件颜色、风格、主题和字符串等;,在该工程中,,ADT,在,drawable,目录中自动引入了,icon.png,文件,作为该工程程序的图标文件;在,layout,目录生成了,main.xml,文件,用于描述用户界面;,28,3.2,Android,程序结构,main.xml,文件,是界面布局文件,利用,XML,语言描述的用户界面;,界面布局的相关内容将在第,4,章用户界面设计中进行详细介绍。,29,3.2,Android,程序结构,AndroidManifest.xml,是,XML,格式的,Android,程序声明文件,每个,Android,程序必须在根目录下包含一个,AndroidManifest.xml,文件。,它包含了,Android,系统运行,Android,程序前所必须掌握的重要信息,这些信息包含应用程序名称、图标、包名称、模块组成、授权和,SDK,最低版本等。,它描述了程序包的全局变量,包括暴露的应用组件,(activities, services,等等,),和为每个组件的实现类,什么样的数据可以操作,以及在什么地方运行。,30,3.2,Android,程序结构,AndroidManifest.xml,文件的代码,manifest,xmlns:android,=,http:/, Emulator,查看标题栏找出端口。一般是,android emulator(5554),,其中,5554,就是端口。,2.,打开命令行,输入,telnet localhost 5554,。程序将会连接到,android emulator,,控制台会返回,Android Console: type help for a list of commands,OK,3.,模拟电话打入。输入,gsm call ,。如:,gsm call 123456789,4.,模拟短信发送。输入,gsm send ,。如:,sms send 123456789 Hello,36,3.3,向模拟器发送命令,37,3.3,向模拟器发送命令,38,3.4,Android,虚拟机,Dalvik,Dalvik,和标准,Java,虚拟机,(JVM),的差别,Dalvik,更适合手机所用的嵌入式环境,占用内存少。,JVM,通用,Java,虚拟机。,Dalvik,虚拟机特点,Dalvik,允许在有限的内存中同时运行多个虚拟机实例。,每一个,Dalvik,应用作为一个独立的,Linux,进程执行。,独立进程可防止在虚拟机崩溃的时候所有程序都被关闭。,Dalvik,提供了一个拥有较,Java,少限制许可证的平台。,39,3.5,Android,重要包的描述,Android.app,:提供高层的程序模型、提供基本的运行环境,Android.content,:包含各种的对设备上的数据进行访问和发布的类,Android.database,:通过内容提供者浏览和操作数据库,Android.graphics,:底层的图形库,可以将它们直接绘制到屏幕上,.,Android.location,:定位和相关服务的类,Android.media,:提供一些类管理多种音频、视频的媒体接口,40,3.5,Android,重要包的描述,A,:提供帮助网络访问的类,超过通常的,.*,接口,Android.os,:提供了系统服务、消息传输、,IPC,机制,Android.opengl,:提供,OpenGL,的工具,Android.provider,:提供类访问,Android,的内容提供者,Android.telephony,:提供与拨打电话相关的,API,交互,Android.view,:提供基础的用户界面接口框架,Android.util,:涉及工具性的方法,例如时间日期的操作,Android.webkit,:默认浏览器操作接口,Android.widget,:各种,UI,元素,(,大部分可见,),在应用程序的屏幕中使用,41,3.6,Android,的相关文件类型,Java,文件,-,应用程序源文件,android,本身相当一部分都是用,java,编写而成,android,的应用使用,java,来开发。,Class,文件,-Java,编译后的目标文件,Google,使用,Dalvik,来运行应用程序,Android,的,class,文件是编译过程中的中间目标文件,需要链接成,dex,文件才能在,Dalvik,上运行。,42,3.6,Android,的相关文件类型,Dex,文件,-Android,平台上的可执行文件,Android,虚拟机,Dalvik,支持的字节码文件格式。,这种虚拟机执行的并非,Java,字节码,而是另一种字节码:,dex,格式的字节码。,在编译,Java,代码之后,通过,Android,平台上的工具可以将,Java,字节码转换成,Dex,字节码。,Dalvik VM,针对手机程式,/CPU,做过最佳化,可以同时执行许多,VM,而不会占用太多,Resource,。,43,3.6,Android,的相关文件类型,Apk,文件,-Android,上的安装文件,Apk,是,Android,安装包的扩展名,一个,Android,安装包包含了与该,Android,应用程序相关的所有文件。,apk,文件将,AndroidManifest.xml,文件、应用程序代码,(.dex,文件,),、资源文件和其他文件打成一个压缩包。,一个工程只能打进一个,.apk,文件。,apk,文件的本质是一个,zip,包。,44,3.7,关于,Activity,Activity,是我们在,Helloworld,程序中接触到的第一个,Android,组件。,45,3.7,关于,Activity,Activity,是最基本的,Android,应用程序组件,称为“活动”组件。,Android,应用程序中,一个,Activity,通常就是手机屏幕的一屏。每一个,Activity,都被实现为一个独立的类,并且从,Activity,基类中继承而来,,Activity,类将会显示由视图控件组成的用户接口,并对事件做出响应。,46,3.7,关于,Activity,大多数的应用是由多个屏幕显示组成。,例如,:,一个文本信息的应用也许有一个显示发送消息的联系人列表屏幕,第二个屏幕用来写文本消息和选择收件人,再来一个屏幕查看消息历史或者消息设置操作等。这里每一个这样的屏幕就是一个活动,很容易实现从一个屏幕到一个新的屏幕并且完成新的活动。,47,3.7,关于,Activity,在某些情况下当前的屏幕也许需要向上一个屏幕活动提供返回值,-,比如让用户从手机中挑选一张照片返回通讯录做为电话拨入者的头像。,当一个新的屏幕打开后,前一个屏幕将会暂停,并保存在历史堆栈中。用户可以返回到历史堆栈中的前一个屏幕。当屏幕不再使用时,还可以从历史堆栈中删除。默认情况下,,Android,将会保留从主屏幕到每一个应用的运行屏幕。,48,3.7,关于,Activity,简单理解,Activity,代表一个用户所能看到的屏幕,,Activity,主要是处理一个应用的整体性工作,例如,监听系统事件,(,按键事件、触摸屏事件等,),、为用户显示指定的,View,,启动其他,Activity,等。所有应用的,Activity,都继承于,android.app.Activity,类,该类是,Android,提供的基层类,其他的,Activity,继承该父类后,通过,Override,父类的方法来实现各种功能,这种设计在其他领域也较为常见。,49,3.7,关于,Activity,Activity,中有一个名称叫,onCreate,的方法。该方法是在,Activity,创建时被系统调用,是一个,Activity,生命周期的开始。,它还有一个方法:,setContentView,,用来设置内容视图,即屏幕显示的内容。可以通过,R.layout.xxx,来指定视图的布局文件。,50,3.7,关于,Activity,Activity,生命周期,51,
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 图纸专区 > 课件教案


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!