Android五子棋小游戏开发设计(8)
时间:2017-02-12 17:06 来源:毕业论文 作者:毕业论文 点击:次
(5) Activity 一个Activity通常展现为一个可视化的用户界面。例如,一个Activity可能展现为一个用户可以选择的菜单项列表或者展现一些图片以及图片的标题。一个消息服务应用程序可能包含一个显示联系人列表的Activity,一个编写信息的Activity,以及其它一些查看信息和修改应用程序设置的Activity。虽然这些Activity一起工作,共同组成了一个应用程序,但每一个Activity都是相对独立的。每一个Activity都是Activity(android.app.Activity)的子类。一个应用程序包含几个Activity以及各个Activity完成什么样的功能完全取决于应用程序以及它的设计。通常每个应用程序都包含一个在应用程序启动后第一个展现给用户的Activity。在当前展现给用户的Activity中启动一个新的Activity,可以实现从一个Activity转换到另外一个Activity。每个Activity都会有一个用于绘制用户界面的窗口。通常这样一个窗口会填充整个屏幕,当然这个窗口也可以比屏幕小并漂浮在其他窗口之上。Activity还可以使用一些额外的窗口,例如一个要求用户响应的弹出式对话框,或者是当用户在屏幕上选择一个条目后向用户展现一些重要信息的窗口。 展示Activity窗口的可视化内容区域是一些具有层次关系(很像数据结构中的树)的视图,而视图则是由类View的子类表示的。每个视图控制窗口中的一个矩形区域。父视图包含一些子视图并管理子视图的布局。位于叶节点的视图直接控制并响应用户的动作。因此视图就是Activity与用户交互的接口。例如,一个显示图片的视图,当用户单击的时候它可能会启动一个动作。Android有许多开发人员可以直接使用的视图,包括按钮,文本域,滚动条,菜单,复选框等。 通过调用Activity.setContentView()方法来设置展现Activity的窗口的视图。内容视图则是视图层次结构中的根节点视图。 (6) Service Service没有用户界面,但它会在后台一直运行。例如,Service可能在用户处理其它事情的时候播放背景音乐,或者从网络上获取数据,或者执行一些运算,并把运算结构提供给Activity展示给用户。每个Service都扩展自类Serivce。 多媒体播放器播放音乐是应用Service的一个非常好的例子。多媒体播放器程序可能含有一个或多个Activity,用户通过这些Activity选择并播放音乐。然而,音乐回放并不需要一个Activity来处理,因为用户可能会希望音乐一直播放下去,即使退出了播放器去执行其它程序。为了让音乐一直播放,多媒体播放器Activity可能会启动一个Service在后台播放音乐。Android系统会使音乐回放Service一直运行,即使在启动这个Service的Activity退出之后。 应用程序可以连接到一个正在运行中的Service。当连接到一个Service后,可以使用这个Service向外暴露的接口与这个Service进行通信。对于上面提到的播放音乐的Service,这个接口可能允许用户暂停,停止或重新播放音乐。 与Activity以及其它组件一样,Service同样运行在应用程序进程的主线程中。所以它们不能阻塞其它组件或用户界面,通常需要为这些Service派生一个线程执行耗时的任务。 (7) Broadcast Broadcast receiver不执行任何任务,仅仅是接受并响应广播通知的一类组件。大部分广播通知是由系统产生的,例如改变时区,电池电量低,用户选择了一幅图片或者用户改变了语言首选项。应用程序同样也可以发送广播通知,例如通知其他应用程序某些数据已经被下载到设备上可以使用。 一个应用程序可以包含任意数量的boradcase reveiver来响应它认为很重要的通知。所有的Broadcast receiver都扩展自类BroadcastReceiver。 (责任编辑:qin) |