1、 外文资料和译文 专 业: 计算机科学与技术(嵌入式软件开发方向) 班 级: 计嵌入式 000000 姓 名: XXXX 学 号: 08111XXXXX 指导教师: XXXX教授 2011 年 12 月 18 日 - 1 - 译文译文 这篇文档主要讲述 Android 应用框架的核心原则。站在高层来说,以用户为中心来设 计良好的交互程序,对于应用设计者或是开发者来说是非常重要的。 下面用例子来阐述了 activities 和 tasks 的一些底层原则和机制 ,例如导航,多任 务,activity 重用,意图和 activity 栈。这篇文档也着重讨论了一些设计决策,针对如 何利用好它们去设计
2、你的应用程序 UI。 这篇文档中的例子均是 Android 应用程序,包括默认应用程序(比如拨号器) 、Google 应用程序 (比如地图) 。 你可以自己在 Android 模拟器上或是 Android 手机上去试验这些例 子。如果你使用 Android 手机试验时,可能未提供本文档中的某些例子。 Applications, Activities, Activity Stack and TasksApplications, Activities, Activity Stack and Tasks 理解 Android 系统中的四个基本概念对你是很有帮助的,它们分别是: Application
3、s(应用) Activities(活动) Activity Stack(活动堆栈) Tasks(任务) ApplicationsApplications 一个 Android 应用程序其实就是由一个或者多个 Activity 组成。 它们被捆绑在一起并 存放进.apk 文件中,这就是 Android 应用程序。Android 中有着丰富的应用程序,比如邮 件、日历、地图定位、文本消息、联系人、照相机、打电话、音乐播放器,系统设置等应 用。 一般情况下,桌面上都会有 Android 应用程序快捷图标,用户可以选择某一个图标来 启动应用程序。 ActivitiesActivities Activi
4、ty 是 Android 应用程序的主要组成部分, activity 可以是你自己创建的, 当然, 还可以是其它应用程序中的 activity。它们都是在运行时绑定上的,以便于应用程序扩展 其自身的功能,它们一旦组合在一起,就会如同一个应用程序一样。每个 activity 都有其 独特的 UI、明确的功能,诸如打电话、看照片、听音乐等。任何一个应用程序都应至少有 一个 activity。 当使用Android手机时, 用户在屏幕上一个接一个地滑动或是点击图标启动activity, 完全不会注意到底层的行为他们体验是无缝的。activity 后面有 activity,task 后 面还会有 ta
5、sk。 Activity 可以处理特定的数据类型和接受一相关的动作。每个 activity 都有其各自 的生命周期,互不干扰;并且它们都可以被用户或者系统独立启动、运行、暂停、恢复运 行、停止、重新开始。正因为这个独立性,activity 可以以不同的方式被其它的 activity 进行替换。 Activity 是 Android 应用中最为突出的组件,其余组件分别为:service、content provider、broadcast receiver。 Activity StackActivity Stack 用户之所以能够从一个 activity 转到下一个 activity,是因为 A
6、ndroid 系统针对 - 2 - activity 而设计了一个线性的导航历史以供用户追溯访问,这就是 activity 栈,也称为 back stack。当用户启动了一个新的 activity,它就被添加进 activity 栈,以便按 BACK 键时能够返回到上一个 activity。然而,用户不能按 BACK 键就直接返回到桌面(除非 activity 的前一个是桌面才可以) 。 activity 栈里面存放的只能是 activity,而视图、窗体、菜单和对话框则不能。也就 是说,如果你可以让用户从屏幕 A 跳转到屏幕 B,当用户按 BACK 键时,他就应该会回到屏 幕 A,那屏幕 A 必须是一个 activity。有个例外情况就是,你的应用程序需要利用 BACK 键控制自身的导航,那就要自己重新设定 BACK 键的导航功能。 TasksTasks 任务则是一系列的 activity 集合, 它能使用户完成既定的操作, 而又不用去关心这些 activity 是哪个应用程序里面的,除明确指定一个新任务之外(参见“中断任务”小段) , 那么其他 activ