引文件。
> AndroidManifest.xml文件则包含了该项目中所用的Activity、Service等组件,它是一个功能清单文件。
图2.1MIDI音乐播放器目录结构
2.2.2用户界面介绍
Android平台提供的控件是非常完美的,控件的使用与网页的设计类似。Android的界面需要写在"res/layout"下面的布局文件,一般情况下,一个布局文件对应一个界面。设计Android的界面有点像写HTML代码,要先给Android定框架,然后再往里面添加控件。
Android生成屏幕有三种方式:xml配置生成;通过用户界面接口生成;直接用代码生成。在一个Android应用中,用户界面是由View和ViewGroup对象构建的。View和ViewGroup都有很多种类,而它们都是View的子类。开发者可以对View和ViewGroup进行组合,来完成应用程序界面设计。
1) View
任何一个View对象都继承android.view.View类。它是一个存储屏幕上特定的一个矩形布局和内容属性的数据结构。作为一个基类,View类为Widget服务,Widget是一组用于绘制交互屏幕元素的完全实现子类。Widget处理自己的测距和绘图,所以可以快速地用它们去构建UI。可用到的Widget包括Text、EditText、Button、RadioButton和Checkbox等。
2) ViewGroup
ViewGroup是一个android.view.Viewgroup类的对象。顾名思义,ViewGroup是一个特殊的View对象,它的功能是装载和管理一组下层的View和其他Viewroup,ViewGroup可以为UI增加结构,并且将复杂的屏幕元素构建成一个独立的实体。作为一个基类,ViewGroup为Layout(布局)服务,Layout则是一组提供屏幕界面通用类型的完全实现子类,一个Activity界面可以包含多个ViewGroup和View,,通过这样的组合可以实现更复杂、更完美、更满足开发者需要的界面。
2.2.3 Android四大组件简介
本节介绍Android非常重要的几个组件,Android有四大组件:Activity、Service、Broadcast Receiver、Content Provider。
1) Activity
在Android中使用频率最高,实质就是一个可视化界面;一般一个Android应用由多个Activity组成,多个Activity组成Activity栈(stack),当前活跃的Activity在栈顶Activity上面是一个Window对象,Window之上通常是一个布局容器对象(LinearLayout等),在上面是我们所要展示的各个组件(如按钮、文本框等)Activity有自己的生命周期,由Android系统来控制新建的Activity要在清单文件AndroidManifest.xml中注册。
2) Service
Service顾名思义服务,它和事件处理机制类似,只不过事件处理机制是程序组件级别的(例如,某个按钮的单击事件),而服务理机制是系统级别的,这个组件是没有用户界面的。到目前为止可以使用Intent来启动一个程序组件,还可通过使用startService()方法来发起启动一个程序中的服务。同时在应用程序中实现Service来监听和响应这些服务的Intent。
本应用MIDI播放器对歌曲的控制全都做在了Service里,后续会详细说明。
3) Broadcast Receiver
指广播接收器,广播事件处理机制是系统级别的系统中定义了很多标准的Broadcast Action来响应系统广播事件,如:ACTION_BOOT_COMPLETED(系统启动完成后出发),ACTION_BATTERY_CHANGED(电量低时出发)也可以自定义Broadcast Receiver接收广播事件注册广播接收器可以使用代码注册,也可在清单文件AndroidManifest.xml中注册。
4) Content Provider
用来保存和检索数据的,并且是应用程序之间相互访问数据成为可能,他是跨应用程序共享数据的唯一方法Android为常用的数据类型(如:视频、音频、图片)提供了大量的Content Provider,它们被放在android. provider下面,使用时要注意权限问题。
2.2.4 Android数据库SQLite介绍
SQLite第一个Alpha版本诞生于2000年5月,它是一款轻型数据库,它的设计目的是嵌入式的,而且目前已经在很多嵌入式产品中使用,它占用的资源非常少,在嵌入式设备中,可能只需要几百KB的内存就够了。也许这正是Android系统要采用SQLite数据库的原因之一。
SQLite数据库是D.Richard Hipp用C语言编写的开源嵌入式数据库,支持的数据库大小是2TB,SQLite是一个开源的关系数据库,可以存储大量数据,
上一篇:
专题:Android_开发设计模式系列集锦
下一篇:
猪疥癣病的防治