版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、Android开发工程师教程开发入门篇第二章 Android应用程序结构教学目标掌握开发Android应用程序中的四大组件及各个组件的功能。掌握Android应用程序的目录结构、资源的使用方法和应用程序配置文件的结构。掌握Android应用程序开发中所有类型XML文件的定义和使用方法。目录应用程序组件1应用程序结构分析2Android中XML文件的使用3本章小结4项目实训5应用程序组件活动活动(Activity)是Android应用程序的表现层,显示可视化的用户界面,并接收与用户交互所产生的界面事件。一个活动表示一个可视化的用户界面,关注一个用户从事的事件。例如,一个活动可能表示一个用户可选择
2、的菜单项列表。一个文本短信应用程序可能有多个活动,一个活动用于显示联系人的名单;另一个活动用于写信息给选定的联系人。虽然应用程序工作时形成一个整体的用户界面,但是每个活动是独立于其他活动的。每一个活动都是作为Activity基类的一个子类的实现。以下两个方法是几乎在所有的Activity子类都需要实现。(1)onCreate(Bundle):初始化活动。在这个方法里通常使用setContentView(int)方法将布局资源(layout resource)定义到UI上,然后使用findViewById(int)在UI中检索需要编程交互的小部件(widgets)。即setContentView
3、()方法用于指定由哪个文件指定布局(main.xml),把界面显示出来,然后通过界面上的组件或触发事件进行相关操作。(2)onPause():处理当离开活动时要做的事情。在使用组件构建Android应用程序时,只要用到组件就必须在AndroidManifest.xml文件中声明及指定它们的特性和要求。 应用程序组件广播接收器广播接收器(Broadcast Receiver)是用来接收并响应广播消息的组件,它不包含任何用户界面,可以通过启动Activity或者Notification通知用户接收到重要信息。即一个广播接收器它不做任何事情,仅是接收广播公告并作出相应的反应。许多广播源自于系统代码,
4、如公告时区的改变、电池电量低、检测到无线信号等。应用程序也可以自己发起广播(即自定义广播事件),例如,让其他程序知道某些数据已经下载到设备且可以使用这些数据。一个应用程序可以有任意数量的广播接收器去反应任何它认为重要的公告。所有的接收器继承自BroadcastReceiver基类。使用时可以用Context.registerReceiver()方法在程序代码中动态地注册这个类的实例,也可以通过AndroidManifest.xml中标签静态声明。 应用程序组件服务服务(Service)用于没有用户界面,但需要长时间在后台运行的应用。一个服务没有一个可视化用户界面,而是在后台无期限地运行。例如,
5、用户在浏览网页时可以听到音乐声,此时就是将播放音乐作为一个服务,即在后台播放音乐的同时,不影响用户浏览网页内容;或者也可能是边浏览网页,边从网络下载文件或进行软件升级。每个服务都继承自Service基类。使用时每个服务类在AndroidManifest.xml中有相应的声明。服务可以通过Context.startService()和Context.bindService()启动。应用程序组件内容提供者内容提供者(Content provider)是Android系统提供的一种标准的共享数据机制,应用程序可以通过它访问其他应用程序的私有数据。Android系统内容提供了一些内置的Content
6、Provider,能够为应用程序提供重要的数据信息。内容提供者继承自ContentProvider 基类并实现了一个标准的方法集,使得其他应用程序可以检索和存储数据。然而,应用程序并不直接调用这些方法,而是使用一个ContentResolver对象并调用它的方法。ContentResolver能与任何内容提供者通信,它与提供者合作来管理参与进来的进程间的通信。 目录应用程序结构分析2应用程序组件1Android中XML文件的使用3本章小结4项目实训5Android应用程序结构分析Android应用目录剖析 Android应用程序结构分析src目录该目录存放Android应用程序所有源代码,即所
7、有允许用户修改的Java文件和用户自己添加的Java文件都保存在这个目录中。HelloWorld.java的源程序代码如下:package .nnutc;import android.app.Activity;import android.os.Bundle;public class HelloWorld extends Activity Override public void onCreate(Bundle savedInstanceState) super.onCreate(savedInstanceState); setContentView(R.layout.main);
8、 Android应用程序结构分析gen目录该目录存放了Eclipse的ADT插件自动生成的R.java文件。其中包含了应用中用户界面、图像、字符串等各种资源与之相对应的资源编号(id)。这个文件是只读模式的,不能更改。R.java文件中定义了一个R类,该类中包含很多静态类,且静态类的名字都与res中的一个名字对应,即R类定义该项目所有资源的索引。 Android应用程序结构分析assets目录该目录下可以存放应用程序用到的所有资源,功能与res目录类似,但却有很大的区别,assets目录存放不进行加工的原生文件,即该文件不会像XML、Java文件等被编译,可以存放一些图片、HTML、JS、CS
9、S文件,一般很少用。 Android应用程序结构分析res目录该目录包含项目中的资源文件并将被编译进应用程序。向此目录添加资源时,会被R.java自动记录。新建一个项目,res目录下会有3个子目录:drawabel、layout、values。(1)drawable目录:该目录下有drawable_hdpi、drawable_mdpi、drawable_ldpi等3个文件夹,分别用来存放高分辨率(如WVGA480800、FWVGA480854)、中分辨率(HVGA320480)和低分辨率(QVGA240320)的图片资源(*.png或*.jpg等图片文件),用于在不同分辨率的手机中进行应用程序
10、开发。默认状态下,都存放在由系统提供的icon.png图片资源文件夹下。系统会根据机器的分辨率分别到这几个文件夹里面去找对应的图片。在开发程序时为了兼容不同平台不同屏幕,建议各自文件夹根据需求均存放不同版本的图片。(2)layout目录:该目录是用来保存布局文件的,默认状态下系统自动生成一个main.xml布局文件存放在该目录中。(3)values目录:该目录中默认存放了一个strings.xml文件,该文件内容是基于XML格式的key-value键值对,所以strings.xml是用于保存系统开发中用到的所有字符串资源的。当然,开发者也可以在这个目录中添加一些额外的资源,如颜色(color.
11、xml)、样式(style.xml)等。(4)Android系统支持字符串、位图和许多其他类型的资源。每一种资源定义文件的语法和格式及保存的位置取决于其依赖的对象。通常,开发者可以通过3种文件创建资源,即XML文件(除位图和原生文件外)、位图文件(作为图片)和原生文件(所有其他的类型,如声音文件)。而XML文件有两种不同类型,一种是作为资源被编译进应用程序,另一种是资源的描述,被AAPT使用 Android应用程序结构分析资源的使用 Android会为每一种资源在R类中生成一个唯一的ID,这个ID是int类型的值。在一般情况下,开发人员并不需要管理这个类,更不需要修改这个类,只需要直接使用R类
12、中的ID即可。为了更好地理解使用资源的过程,请仔细阅读如图所示的R.java文件的源代码。 Android应用程序结构分析在应用程序中获得btnShowDate按钮对象的代码如下:Button btnShowDate = (Button)findViewById(R.id.btnShowDate);下面的代码使用字符串资源重新设置了Activity的标题。setTitle(R.string.hello);引用图像资源可以使用格式:“drawable/icon” Android应用程序结构分析AndroidManifest.xml文件的作用(1) 说明Android应用程序所属的Java包,Ja
13、va包是Android应用程序的唯一标识,同一台设备上不能有两个或两个以上的应用程序属于同一个Java包。(2) 声明Android应用程序所必备的权限,用以访问受保护部分API以及与其他Android应用程序的交互。(3) 声明Android应用程序其他的必备权限,用以该应用程序中组成部件之间的交互。(4) 声明Android应用程序所需要的Android API的最低版本级别。Android应用程序结构分析AndroidManifest.xml文件的结构 目录Android中XML文件的使用3应用程序组件1应用程序结构分析2本章小结4项目实训5Android中XML文件的使用 布局文件 布
14、局文件在layout目录下,使用比较广泛,一般开发应用程序时,可以为应用定义两套或多套布局,例如,可以新建目录layout_land(代表手机横屏布局),layout_port(代表手机竖屏布局),系统会根据不同情况自动找到最合适的布局文件,但是在同一界面的两套不同布局文件的文件名应该是相同的,只是放在了两个不同的目录下。Android中XML文件的使用图片文件 图片文件在drawable目录下,从2.1版本以后分为3个目录,前面已经介绍过,开发时可以将已经做好的图片放到该目录下,或者通过自定义XML文件来实现想要的图片,例如,可以定义shapge_1.xml放到drawable目录下,代码如
15、下: Android中XML文件的使用图片文件如果开发应用程序时想让一个控件根据不同状态显示不同图片,可以直接在程序中控制,也可以在drawable目录建立XML文件达到相同的效果,例如,在drawable目录下新建文件button_back.xml,代码如下: Android中XML文件的使用图片文件以上XML文件可以实现一个控件(假设为button),获取焦点,单击按钮,正常状态下显示不同图片的效果,此时只需要在定义控件时引用该文件名即可,代码如下: Android中XML文件的使用菜单文件 菜单文件在menu目录下,编写代码时只需在onCreateOptionsMenu()方法中用Men
16、uInflater装载进去即可。代码如下: Android中XML文件的使用 资源文件 资源文件在values目录下,即resource文件,它们都是在values目录下的XML文件,且都是以resource作为根节点。1strings.xml(定义字符串)代码格式如下: Hello World! 我的应用程序2colors.xml(定义颜色)代码格式如下: #ff000000 #e0000000 #00000000 #f00 #0000ff #f0f0 #ffffff00Android中XML文件的使用 资源文件 3arrays.xml(定义数组)代码格式如下: Mercury Venus
17、Earth Mars Jupiter Saturn Uranus Neptune Pluto 100 500 800 Android中XML文件的使用 资源文件 5dimen.xml(定义单位)Android的度量单位见表2-3。其代码格式如下: 1px 2dp 16sp Android中XML文件的使用资源文件6attrs.xml(定义属性)该文件主要用在自定义的组件中,具体使用方法会在后面的章节中详细介绍,其代码格式如下: Android中XML文件的使用动画文件动画文件存放在anim目录下,动画资源分为两种。(1) 实现图片的translate、scale、rotate、alpha4种变化,还可以设置动画的播放特性,称为Tween动画。其代码格式如下: 可以使用其子类和属性定义动画的运行方式,先快后慢,先慢后快等Android中XML文件的使用动画文件(2) 帧动画,逐帧播放设置的资源,称为Frame动画。其代码格式如下: Android中XML文件的使用 raw目录下的文件 该目录下的文件在项目编译时直接打包到APK中,它本身不会被编译,在Android平台设备中进行APK安装时会直接复制到设备中指定位置。一般为应用要用到的音频或视频文件等。要使用这些
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 残车拍卖合同范例
- 燕山租房合同模板
- 民间电子借款合同模板
- 牡丹江市房屋买卖合同模板
- 游戏测试主管的职责信息模版(2篇)
- 2024年大宣教工作总结模版(3篇)
- 污染防治工程施工合同范例
- 殡葬合作合同范例
- 石场工人用工合同范例
- 2024物业(保安保洁)服务合同
- 日产新轩逸电子手册
- 多功能视讯会议系统项目售后服务方案
- 中置柜安装作业指导书
- 甲状腺切除术护理查房精编ppt
- 腾讯广告数据系统架构介绍
- DB63∕T 1906-2021 青海省环境卫生精细化管理质量标准
- 新冀美版八年级上册初中美术全册教案(教学设计)
- 沪教版三年级上学期语文阅读理解专项精选练习
- 石化公司员工行为规范
- 桥梁施工安全方针和现场安全管理目标
- 人工智能课件介绍
评论
0/150
提交评论