Android应用程序的构成.ppt_第1页
Android应用程序的构成.ppt_第2页
Android应用程序的构成.ppt_第3页
Android应用程序的构成.ppt_第4页
Android应用程序的构成.ppt_第5页
已阅读5页,还剩25页未读 继续免费阅读

下载本文档

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

文档简介

AndroidAndroid应用程序的构成应用程序的构成 赵宏 2 第第2 2章章 AndroidAndroid应用程序的构成应用程序的构成 q本课要点: Android工程目录分析 资源的管理与使用 Android基本组件 q重点与难点: Android基本组件 3 第第2 2章章 AndroidAndroid应用程序的构成应用程序的构成 教学目标: q了解 android应用程序的基本框架 q了解 android各个组件的运行机制 4 第第2 2章章 AndroidAndroid应用程序的构成应用程序的构成 qAndroid应用程序的重要组成部分,包括活动 (Activity)、广播接收器(Broadcast Receiver)、 服务(Service)、内容提供者(ContentProvider)。 q一个Android应用必定包含至少一个Activity,其 他的3个组成部分为可选部分。 5 1. Android1. Android工程目录分析工程目录分析 6 2. Android2. Android资源文件资源文件 qAndroid资源文件主要包含字体、颜色、尺寸、图 片、主题样式、菜单等等。 7 2. Android2. Android资源文件资源文件 qres目录是资源目录,有三个子 目录用来保存Android程序所有 资源 drawable目录用来保存图像文件 layout目录用来保存与用户界面 相关的布局文件 valuse目录保存文件颜色、风格 、主题和字符串等 在Hello Android工程中,ADT 在drawable目录中自动引入了 icon.png文件,作为 HelloAndroid程序的图标文件; 在layout目录生成了mail.xml文 件,用于描述用户界面 8 2. Android2. Android资源文件资源文件 qAndroid图片资源 pAndroid中对图片资源的存储使用了分离的管理 方式。 p图片资源的存储位于工程目录下的res-drawable 文件夹下,同时按照不同的显示分辨率进行区分 。 9 2. Android2. Android资源文件资源文件 qAndroid中的常量资源使用String.xml的形式 进行保存,该文件位于工程目录下res-values 文件夹中。这种设计方便项目中的常量数据的 维护、修改和Android国家化的使用。 q在res-values目录下还能够创建colors.xml、 arrays.xml、styles.xml等文件。 pAndroid常量资源-String.xml 10 2. Android2. Android资源文件资源文件 11 2. Android2. Android资源文件资源文件 qAndroid布局文件是对界面组件进行设计,并最终加 载显示在手机屏幕中,整个界面中的布局设计都可以 通过布局文件进行实现。 q该文件位于工程目录下res-layout文件夹下,布局文件 中包括多种不同的布局方式,将在后期的专题中进行 介绍。 pAndroid布局文件 12 2. Android2. Android资源文件资源文件 13 2. Android2. Android资源文件资源文件 qAndroid会为每一种资源在R类中生成一个唯一的 ID,这个ID是int类型的值。在一般情况下,开发 人员并不需要管这个类,更不需要修改这个类, 只需要直接使用R类中的ID即可。为了更好地理 解使用资源的过程,先看一下一个例子中生成的 R类的源代码。 p资源的基本使用方法 14 2. Android2. Android资源文件资源文件 15 2. Android2. Android资源文件资源文件 q从R类中很容易看出,ADT为res目录中每一个子目 录或标签(例如,标签)都生成了一个静 态的子类,不仅如此,还为XML布局文件中的每一 个指定id属性的组件生成了唯一的ID,并封装在id 子类中。这就意味着在Android应用程序中可以通 过ID使用这些组件。 qR类虽然也属于com.cstp.android包,但在Eclipse工 程中为了将R类与其他的Java类区分开,将R类放在 gen目录中。 16 2. Android2. Android资源文件资源文件 q既可以在程序中引用资源,也可以在XML文件中 引用资源。例如,在应用程序中获得btnShowDate 按钮对象的代码如下: qButton btnShowDate = (Button) findViewById(R.id.btnShowDate); q可以看到,在使用资源时直接引用了 R.id.btnShowDate这个ID值,当然,直接使用 0x7f050000也可以,不过为了使程序更容易维护, 一般会直接使用在R的内嵌类中定义的变量名。 17 2. Android2. Android资源文件资源文件 qAndroid SDK中的很多方法都支持直接使用ID值来引 用资源。例如,android.app.Activity类的setTitle方法 除了支持以字符串方式设置Activity的标题外,还支持 以字符串资源ID的方式设置Activity的标签。例如, 下面的代码使用字符串资源重新设置了Activity的标题 。 qsetTitle(R.string.hello); 18 2. Android2. Android资源文件资源文件 q除了可以使用Java代码来访问资源外,在XML文件中也可 以使用这些资源。例如,引用图像资源可以使用如下格式 : qdrawable/icon q其中icon就是resdrawable目录中的一个图像文件的文件名 。这个图像文件可以是任何Android支持的图像类型,例如 ,gif、jpg等。因此,在drawable目录中不能存在同名的图 像文件,例如,icon.gif和icon.jpg不能同时放在drawable目 录中,这是因为在生成资源ID时并没有考虑文件的扩展名 ,所以会在同一个类中生成两个同名的变量,从而造成 Java编译器无法成功编译R.java文件。 19 2. Android2. Android资源文件资源文件 20 3. 3. 权限控制权限控制 AndroidManifest.xmlAndroidManifest.xml文件的结构文件的结构 q每一个Android应用程序必须有一个 AndroidManifest.xml文件(不能改成其他的文 件名),而且该文件必须在应用程序的根目录 中。在这个文件中定义了应用程序的基本信息 ,在运行Android应用程序之前必须设置这些 信息。下面是AndroidManifest.xml文件在 Android应用程序中所起的作用。 21 3. 3. 权限控制权限控制 q在默认情况下,Android系统会限制使用某些API,因此, 需要在AndroidManifest.xml文件中为这些API授权后才可 以使用它们。 q可以为授权应用程序与其他的应用程序进行交互。 q可以在AndroidManifest.xml文件中配置一些特殊的类,这 些类可以在应用程序运行时提供调试及其他的信息。但这 些类只在开发和测试时使用,当应用程序发布时这些配置 将被删除。 22 3. 3. 权限控制权限控制 qAndroidManifest.xml 23 3. 3. 权限控制权限控制 24 4. Android4. Android组件组件 q在开发应用时都是通过框架来和Android底层进行交 互,接触较多的就是应用框架。 q在Android SDK中内置了一些对象,其中最重要的一 些组件: l Activity l Service l Broadcast receiver l Content Provider 25 4. Android4. Android组件组件 什么是什么是ActivityActivity? qAndroid应用程序中最令人振奋的特性是可以利用其他 Android应用程序中的资源(当然,需要这些应用程序进 行授权)。例如,如果应用程序恰好需要一个显示图像列 表的功能,而另一个应用程序正好有这个功能,只需要调 用这个应用程序中的图像列表功能即可。在这一点,比 iphone的应用要灵活很多。 q在Android程序中没有入口点(即Main函数),取而代之 的是一系列的组件,这些组件都可以单独实例化。本节课 将介绍Android支持的4种组件的基本概念。应用程序向外 共享功能一般也是通过这4种应用程序组件实现的。 26 4. Android4. Android组件组件 活动(活动(ActivityActivity)组件)组件 qActivity是Android的核心类,该类的全名是 android.app.Activity 。Activity相当于C/S程序中的 窗体(Form)或Web程序的页面。每一个Activity 提供了一个可视化的区域。在这个区域可以放置各 种Android组件,例如,按钮、图像、文本框等。 q在Activity类中有一个onCreate事件方法,一般在该 方法中对Activity进行初始化。通过setContentView 方法可以设置在Activity上显示的视图组件, setContentView方法的参数一般为XML布局文件的 资源ID。 27 4. Android4. Android组件组件 q一个带界面的Android应用程序可以由一个或多个Activity组 成。至于这些Activity如何工作,或者它们之间有什么依赖 关系,则完全取决于应用程序的业务逻辑。例如,一种典型 的设计方案是使用一个Activity作为主Activity(相当于主窗 体,程序启动时会首先启动这个Activity)。在这个Activity 中通过菜单、按钮等方式启动其他的Activity。在Android自 带的程序中有很多都是这种类型的。 q每一个Activity都会有一个窗口,在默认情况下,这个窗口 是充满整个屏幕的,也可以将窗口变得比手机屏幕小,或者 悬浮在其他的窗口上面。 qActivity窗口中的可视化组件由View及其子类组成,这些组 件按着XML布局文件中指定的位置在窗口上进行摆放。 28 4. Android4. Android组件组件 服务(服务(ServiceService)组件)组件 q服务没有可视化接口,但可以在后台运行。例如 ,当用户进行其他操作时,可以利用服务在后台 播放音乐,或者当来电时,可以利用服务同时进 行其他操作,甚至阻止接听指定的电话。每一个 服务是一个android.app.Service的子类。 q除此之外,其他的程序还可以与服务进行通信。 当与服务连接成功后,就可以利用服务中共享出 来的接口与服务进行通信了。例如,控制音乐播 放的服务允许用户暂停、重放、停止音乐的播放 。 29 4. Android4. Android组件组件 广播接收者组件广播接收者组件(Broadcast receiver)(Broadcast receiver) q广播接收者组件的唯一功能就是接收广播消息,以及对广播 消息做出响应。有很多时候,广播消息是由系统发出的,例 如,时区的变化、电池的电量不足、收到短信等。除此之外 ,应用程序还可以发送广播消息,例如,通知其他的程序数 据已经下载完毕,并且这些数据已经可以使用了。 q一个应用程序可以有多个广播接收者,所有的广播接收者类 都需要继承android.content. Broadcast- Receiver类。 q广播接收者与服务一样,都没有用户接口,但在广播接收者 中可以启动一个Activity来响应广播消息,例如,通过显示一 个Activity对用户进行提醒。当然,也可以采用其他的方法或 几种方法的组合来提醒用户,例如,闪屏、震动、响铃、播 放音乐等。 30 4. Android4. Android组件组件 内容提供者组件内容提供者组件(Content provider)(Content pr

温馨提示

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

评论

0/150

提交评论