Android_第3讲_Android应用程序.ppt_第1页
Android_第3讲_Android应用程序.ppt_第2页
Android_第3讲_Android应用程序.ppt_第3页
Android_第3讲_Android应用程序.ppt_第4页
Android_第3讲_Android应用程序.ppt_第5页
已阅读5页,还剩46页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、第3讲 Android应用程序,本章学习目标:,掌握Eclipse开发Android应用程序的步骤 掌握Android虚拟设备的创建方法 了解Android的程序结构 了解AndroidManifest.xml文件的用途 了解Android虚拟机 了解如何向模拟器发送命令 了解Activity,3.1 第一个Android程序,创建Android工程 打开Android工程向导: FileNewProjectAndroidAndroid Project 或 File NewOther AndroidAndroid Project,3.1 第一个Android程序,3.1 第一个Android程

2、序,填写工程名称:工程名称必须唯一,不能与已有的工程重名 在Project name中填入ArdHelloworld,3.1 第一个Android程序,选择创建方式 可以创建新Android工程,也可利用已有代码创建Android工程,缺省为创建新Android工程;选择“Create new project in workspace” 可以使用默认位置存储,也可取消复选框,选择其他位置保存。,3.1 第一个Android程序,3.1 第一个Android程序,选择编译目标(Build Target)。根据系统安装的Android SDK,可以根据需要选择不同版本的API。,3.1 第一个An

3、droid程序,填写相关信息 应用程序名称,即Android程序在手机中显示的名称,显示在手机的顶部。在Application name填入Helloworld。 包名称是包的命名空间,需遵循Java包的命名方法,由两个或多个标识符组成,中间用点隔开。为了包名称的唯一性,可以采用反写电子邮件地址的方式。在Package name填入com.coffe,3.1 第一个Android程序,填写相关信息 创建Activity是个可选项,如需要自动生成一个Activity的代码文件,则选择该项。Activity的名称与应用程序的名称不同,但为了简洁,可以让他们相同,表示这个Activity是Andro

4、id程序运行时首先显示给用户的界面。例如在本例中,输入Application name后,Activity会自动生成名称:HelloworldActivity。,3.1 第一个Android程序,填写相关信息 SDK最低版本是Android程序能够运行的最低的API等级,如果手机的API等级低于程序的SDK最低版本,则程序无法在该Android系统中运行。在这里,之前选择标准的1.6版本的Android系统,则SDK等级被自动填入4,此项无需更改,3.1 第一个Android程序,Android虚拟设备(AVD) AVD是对Android模拟器进行自定义的配置清单,能够配置Android模拟器

5、的硬件列表和外观,支持Android系统版本、附件SDK库和储存设置等信息。 之前环境配置中已经介绍了在Eclipse中AVD的创建,这里不再介绍。,3.1 第一个Android程序,命令行方式:android create avd-n android1.5 t 2,以id为2的1.5版本Android系统为目标,建立一个名为Android1.5的AVD -n参数表明AVD的名称 -t参数表明选择的Android系统映像的id值 可以直接缺省的硬件配置,当然也可以重新定制模拟器支持的硬件清单,3.1 第一个Android程序,在建立过程中,Android工具会在文件系统中建立Android1.

6、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下,3.1 第一个Android程序,Android程序启动选项 路径:RunRun Configuration或RunDebug C

7、onfiguration配置模拟器的启动选项 可以选择不同的AVD、配置网络速度、网络延迟、控制台的字符编码和标准输入输出等内容。一般只需选择正确的AVD即可,3.1 第一个Android程序,3.1 第一个Android程序,3.1 第一个Android程序,启动Android程序 路径:RunRun Android Application或RunDebug Android Application 在程序调试完毕后,可直接再次运行Android程序,以便节约启动模拟器的时间,3.1 第一个Android程序,3.1 第一个Android程序,详解第一个Android项目源码 见教材P25-2

8、8,3.2 Android程序结构,在建立Android工程的过程中,ADT会自动建立一些目录和文件,这些目录和文件有其固定的作用,有的允许修改,有的不能修改。下面逐一的介绍。,3.2 Android程序结构,在“Package Explore”中,ADT以工程名称(此处为Helloworld为例)作为根目录,将所有字段生成的和非自动生成的文件都保存在这个根目录下; 根目录包含四个子目录:src、assets、res和gen,一个库文件android.jar,以及两个工程文件Androidmanifest.xml和perties;,3.2 Android程序结构,src目

9、录是源代码目录,所有允许用户修改的java文件和用户自己添加的java文件都保存在这个目录中; Android工程建立初期,ADT根据用户在工程向导中的“Create Activity”选项,自动建立HelloworldActivity.java文件;,3.2 Android程序结构,gen目录是1.5版本开始新增的目录,用来保存ADT自动生成的java文件,例如R.java或AIDL文件; R.java文件是ADT自动生成的文件,包含对drawable、layout和values目录内的资源的引用指针,Android程序能够直接通过R类引用目录中的资源。,3.2 Android程序结构,R.

10、java文件不能手工修改,如果向资源目录中增加或删除了资源文件,则需要在工程名称上右击,选择Refresh来更新R.java文件中的代码 R类包含的几个内部类,分别与资源类型相对应,资源ID便保存在这些内部类中,例如子类drawable表示图像资源,内部的静态变量icon表示资源名称,其资源ID为0 x7f020000。一般情况下,资源名称与资源文件名相同,3.2 Android程序结构,引用资源 资源引用有两种情况:一种是在代码中引用资源;另一种是在资源中引用资源 代码中引用资源,需要使用资源的ID,可以通过R.resource_type.resource_name或android.R.re

11、source_type.resource_name获取资源ID resource_type代表资源类型,也就是R类中的内部类名称 resource_name代表资源名称,对应资源的文件名或在XML文件中定义的资源名称属性 资源中引用资源,引用格式: package:type:name 表示对资源的引用 package是包名称,如果在相同的包,package可以省略,3.2 Android程序结构,android.jar文件是Android程序所能引用的函数库文件,Android通过平台所支持API都包含在这个文件中。 assets目录用来存放原始格式的文件,例如音频文件、视频文件等二进制格式文

12、件。此目录中的资源不能被R.java文件索引。所以只能以字节流的形式读取。一般情况下为空。,3.2 Android程序结构,res目录是资源目录,有三种子目录用来保存Android程序所有资源 drawable相关目录用来保存图像文件,在SDK1.5之后,分成了三种目录,见教材P19页描述; layout目录用来保存与用户界面相关的布局文件; values目录保存文件颜色、风格、主题和字符串等; 在该工程中,ADT在drawable目录中自动引入了icon.png文件,作为该工程程序的图标文件;在layout目录生成了main.xml文件,用于描述用户界面;,3.2 Android程序结构,m

13、ain.xml文件,是界面布局文件,利用XML语言描述的用户界面; 界面布局的相关内容将在第4章用户界面设计中进行详细介绍。,3.2 Android程序结构,AndroidManifest.xml是XML格式的Android程序声明文件,每个Android程序必须在根目录下包含一个AndroidManifest.xml文件。 它包含了Android系统运行Android程序前所必须掌握的重要信息,这些信息包含应用程序名称、图标、包名称、模块组成、授权和SDK最低版本等。 它描述了程序包的全局变量, 包括暴露的应用组件(activities, services等等)和为每个组件的实现类,什么样的

14、数据可以操作,以及在什么地方运行。,3.2 Android程序结构,AndroidManifest.xml文件的代码,3.2 Android程序结构,AndroidManifest.xml文件的根元素是manifest,包含了xmlns:android、package、android:versionCode和android:versionName共4个属性 xmlns:android定义了Android的命名空间,值为 package定义了应用程序的包名称 android:versionCode定义了应用程序的版本号,是一个整数值,数值越大说明版本越新,但仅在程序内部使用,并不提供给应用程序的

15、使用者 android:versionName定义了应用程序的版本名称,是一个字符串,仅限于为用户提供一个版本标识,3.2 Android程序结构,manifest元素仅能包含一个application元素,application元素中能够声明Android程序中最重要的四个组成部分,包括Activity、Service、BroadcastReceiver和ContentProvider,所定义的属性将影响所有组成部分 第6行属性android:icon定义了Android应用程序的图标,其中drawable/icon是一种资源引用方式,表示资源类型是图像,资源名称为icon,对应的资源文件为

16、res/drawable目录下的icon.png 第6行属性android:label则定义了Android应用程序的标签名称,3.2 Android程序结构,activity元素是对Activity子类的声明,必须在AndroidManifest.xml文件中声明的Activity才能在用户界面中显示 第7行属性android:name定义了实现Activity类的名称,可以是完整的类名称,也可以是简化后的类名称 第8行属性android:label则定义了Activity的标签名称,标签名称将在用户界面的Activity上部显示,string/app_name同样属于资源引用,表示资源类型

17、是字符串,资源名称为app_name,资源保存在res/values目录下的strings.xml文件中,3.2 Android程序结构,intent-filter中声明了两个子元素action和category,intent-filter使Helloworld程序在启动时,将. HelloworldActivity这个Activity作为默认启动模块。,3.3 向模拟器发送命令,可以利用telnet命令连接到模拟器上,模拟打电话和发短信给模拟器的功能。 1. 启动Android Emulator, 查看标题栏找出端口。一般是android emulator(5554),其中5554就是端口。

18、 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,3.3 向模拟器发送命令,3.3 向模拟器发送命令,3.4 Android虚拟机Dalvik,Dalvik和标准Java虚拟机(JVM)的差别 Dalvik 更适合手机所用的嵌入式

19、环境,占用内存少。 JVM 通用Java虚拟机。 Dalvik虚拟机特点 Dalvik 允许在有限的内存中同时运行多个虚拟机实例。 每一个Dalvik 应用作为一个独立的Linux 进程执行。 独立进程可防止在虚拟机崩溃的时候所有程序都被关闭。 Dalvik 提供了一个拥有较Java少限制许可证的平台。,3.5 Android重要包的描述,Android.app :提供高层的程序模型、提供基本的运行环境 Android.content :包含各种的对设备上的数据进行访问和发布的类 Android.database :通过内容提供者浏览和操作数据库 Android.graphics :底层的图形

20、库,可以将它们直接绘制到屏幕上. Android.location :定位和相关服务的类 Android.media :提供一些类管理多种音频、视频的媒体接口,3.5 Android重要包的描述,A :提供帮助网络访问的类,超过通常的.* 接口 Android.os :提供了系统服务、消息传输、IPC 机制 Android.opengl :提供OpenGL 的工具 Avider :提供类访问Android 的内容提供者 Android.telephony :提供与拨打电话相关的API 交互 Android.view :提供基础的用户界面接口框架 Android.util :

21、涉及工具性的方法,例如时间日期的操作 Android.webkit :默认浏览器操作接口 Android.widget :各种UI 元素(大部分可见)在应用程序的屏幕中使用,3.6 Android的相关文件类型,Java文件-应用程序源文件 android 本身相当一部分都是用java 编写而成 android 的应用使用java 来开发。 Class文件-Java编译后的目标文件 Google使用Dalvik 来运行应用程序 Android的class 文件是编译过程中的中间目标文件,需要链接成dex 文件才能在Dalvik 上运行。,3.6 Android的相关文件类型,Dex文件-And

22、roid平台上的可执行文件 Android 虚拟机Dalvik 支持的字节码文件格式。 这种虚拟机执行的并非Java 字节码,而是另一种字节码:dex 格式的字节码。 在编译Java 代码之后,通过Android 平台上的工具可以将Java 字节码转换成Dex 字节码。 Dalvik VM 针对手机程式/CPU 做过最佳化,可以同时执行许多VM 而不会占用太多Resource。,3.6 Android的相关文件类型,Apk文件-Android上的安装文件 Apk 是Android 安装包的扩展名,一个Android 安装包包含了与该Android 应用程序相关的所有文件。 apk文件将AndroidManifest.xml文件、应用程序代码(.dex 文件)、资源文件和其他文件打成一个压缩包。 一个工程只能打进一个.apk文件。 apk 文件的本质是一个zip包。,3.7 关于Activity,Activity是我们在Helloworld程序中接触到的第一个Android组件。,3.7 关于Activity,Activity是最基本的Android 应用程序组件,称为“活动”组件。Android应用程序中,一个Activity通常就是手机屏幕的一屏。每一个Activity都被实现为一个独立的类,并且从Activity基类中继承而来, Activity类将会显示由视图控件

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论