- 1、本文档共15页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
东北大学东软信息学院
外文资料和译文
专 业: 计算机科学与技术(嵌入式软件开发方向) 班 级: 计嵌入式000000 姓 名: XXXX 学 号: 08111XXXXX 指导教师: XXXX教授
2011 年 12 月 18 日
译文
这篇文档主要讲述Android应用框架的核心原则。站在高层来说,以用户为中心来设计良好的交互程序,对于应用设计者或是开发者来说是非常重要的。
下面用例子来阐述了activities和tasks的一些底层原则和机制 ,例如导航,多任务,activity重用,意图和activity栈。这篇文档也着重讨论了一些设计决策,针对如何利用好它们去设计你的应用程序UI。
这篇文档中的例子均是Android应用程序,包括默认应用程序(比如拨号器)、Google应用程序(比如地图)。你可以自己在Android模拟器上或是Android手机上去试验这些例子。如果你使用Android手机试验时,可能未提供本文档中的某些例子。
Applications, Activities, Activity Stack and Tasks
理解Android系统中的四个基本概念对你是很有帮助的,它们分别是:
Applications(应用)
Activities(活动)
Activity Stack(活动堆栈)
Tasks(任务)
Applications
一个Android应用程序其实就是由一个或者多个Activity组成。它们被捆绑在一起并存放进.apk文件中,这就是Android应用程序。Android中有着丰富的应用程序,比如邮件、日历、地图定位、文本消息、联系人、照相机、打电话、音乐播放器,系统设置等应用。
一般情况下,桌面上都会有Android应用程序快捷图标,用户可以选择某一个图标来启动应用程序。
Activities
Activity是Android应用程序的主要组成部分,activity可以是你自己创建的,当然,还可以是其它应用程序中的activity。它们都是在运行时绑定上的,以便于应用程序扩展其自身的功能,它们一旦组合在一起,就会如同一个应用程序一样。每个activity都有其独特的UI、明确的功能,诸如打电话、看照片、听音乐等。任何一个应用程序都应至少有一个activity。
当使用Android手机时,用户在屏幕上一个接一个地滑动或是点击图标启动activity,完全不会注意到底层的行为——他们体验是无缝的。activity后面有activity,task后面还会有task。
Activity可以处理特定的数据类型和接受一相关的动作。每个activity都有其各自的生命周期,互不干扰;并且它们都可以被用户或者系统独立启动、运行、暂停、恢复运行、停止、重新开始。正因为这个独立性,activity可以以不同的方式被其它的activity进行替换。
Activity是Android应用中最为突出的组件,其余组件分别为:service、content provider、broadcast receiver。
Activity Stack
用户之所以能够从一个activity转到下一个activity,是因为Android系统针对activity而设计了一个线性的导航历史以供用户追溯访问,这就是activity栈,也称为back stack。当用户启动了一个新的activity,它就被添加进activity栈,以便按BACK键时能够返回到上一个activity。然而,用户不能按BACK键就直接返回到桌面(除非activity的前一个是桌面才可以)。
activity栈里面存放的只能是activity,而视图、窗体、菜单和对话框则不能。也就是说,如果你可以让用户从屏幕A跳转到屏幕B,当用户按BACK键时,他就应该会回到屏幕A,那屏幕A必须是一个activity。有个例外情况就是,你的应用程序需要利用BACK键控制自身的导航,那就要自己重新设定BACK键的导航功能。
Tasks
任务则是一系列的activity集合,它能使用户完成既定的操作,而又不用去关心这些activity是哪个应用程序里面的,除明确指定一个新任务之外(参见“中断任务”小段),那么其他activity都属于当前任务的一部分。再次注意的是,这些activity可是任意应用程序中的其中一个,也就是说不管它们所属的应用程序是否相同。举个例子,用户打开了联系人的程序,任务随之也会启动,他选择了email地址准备发邮件,这时跳转到了email activity,之后他要添加附件,需要在相册中挑选图片。这里面,联系人,email,图片相册都是不同的应用程序。
当一个activity启动时,任务也随之启动的话
文档评论(0)