|
|
|
|
移动端

2.3.1 用Activity 表现界面

《Android游戏开发从入门到精通》第2章Android 核心框架分析,本章将简要讲解Android 体系的具体组成,为读者进行本书后面知识的学习打下基础。本节为大家介绍用Activity 表现界面。

作者:王玉芹来源:机械工业出版社|2017-11-14 10:13

技术沙龙 | 6月30日与多位专家探讨技术高速发展下如何应对运维新挑战!


2.3 简述五大组件

一个典型的Android 应用程序通常由五个组件组成,这五个组件构成了Android 的核心功能。在本节的内容中,将一一讲解这五大组件的基本知识,为读者进行本书后面知识的学习打下基础。

2.3.1 用Activity 表现界面

Activity 是最常用的一个组件。程序中Activity 通常的表现形式是一个单独的界面(Screen)。每个Activity 都是一个单独的类,它扩展实现了Activity 基础类。这个类显示为一个由View 组成的用户界面,并响应事件。大多数程序有多个Activity,例如一个短信程序有这样几个界面:显示联系人列表界面,写短信界面,查看短信界面或者设置界面等。每个界面都是一个Activity,切换到另一个界面就是载入一个新的Activity。在某些情况下,一个Activity 可能会给前一个Activity 返回值。例如,一个让用户选择相片的Activity 会把选择到的相片返回给调用者。

当打开一个新界面后,前一个界面就会被暂停,并放入历史栈中(界面切换历史栈)。使用者可以回溯前面已经打开的存放在历史栈中的界面,也可以从历史栈中删除没有界面价值的界面。Android 在历史栈中保留程序运行产生的所有界面:从第一个界面到最后一个界面。2.3.2 用Intent 和IntentFilters 实现切换

Android 通过一个专门的Intent 类来进行界面的切换。Intent 描述了程序想做什么(Intent意为意图、目的、意向),Intent 类的相关类是IntentFilter。Intent 请求来做什么事情,IntentFilter则描述了一个Activity(或下文的IntentReceiver)能处理什么意图。显示某人联系信息的Activity 使用了一个IntentFilter,就是说它知道如何处理应用到此联系人数据上的View 操作。Activities 在文件AndroidManifest.xml 中使用来IntentFilters 表现。

通过解析Intent 可以实现Activity 的切换,可以使用startActivity(myIntent)启用新的Activity。系统会考察所有安装程序的IntentFilters,然后找到与myIntent 匹配得最好的IntentFilters 所对应的Activity。这个新Activity 能够接收Intent 传来的消息,并因此被启用。解析Intent 的过程发生在startActivity 被实时调用时,这样做有如下两个好处。

(1)Activity 仅发出一个Intent 请求,便能重用其他组件的功能。

(2)Activity 可以随时被替换为有等价IntentFilter 的新Activity。


喜欢的朋友可以添加我们的微信账号:

51CTO读书频道二维码


51CTO读书频道活动讨论群:365934973

【责任编辑:book TEL:(010)68476606】

回书目   上一节   下一节
点赞 0
分享:
大家都在看
猜你喜欢

读 书 +更多

SUN Solaris 9/10系统管理员认证指南

本书专门根据SUN官方的SCSA for Solaris 9&10考试大纲撰写而成,全面覆盖了SCSA for Solaris 9/10的认证考点,除此之外本书还有大量的非考...

订阅51CTO邮刊

点击这里查看样刊

订阅51CTO邮刊