Android Activity 和 Task 设计指导

  次阅读 作者:智能小宝 来源:互联网 2016-01-14 10:11 我要评论(0)

Activity and Task设计指导

这篇文档主要讲述Android应用框架的核心原则。站在高层来说,以用户为中心来设计良好的交互程序,对于应用设计者或是开发者来说是非常重要的。

下面用例子来阐述了activities和tasks的一些底层原则和机制 ,例如导航,多任务,activity重用,意图和activity栈。这篇文档也着重讨论了一些设计决策,针对如何利用好它们去设计你的应用程序UI。

这篇文档中的例子均是Android应用程序,包括默认应用程序(比如拨号器)、Google应用程序(比如地图)。你可以自己在Android模拟器上或是Android手机上去试验这些例子。如果你使用Android手机试验时,可能未提供本文档中的某些例子。

再看这篇文档之前,请确保您看过本篇中的Design Tips章节。此篇算做是Application Fundamentals文档的的一部分(特指Tasks and Back Stack章节),它对于程序员来说覆盖了整个底层机制。

Applications, Activities, Activity Stack and Tasks

理解Android系统中的四个基本概念对你是很有帮助的,它们分别是:

lApplications

lActivities

lActivity Stack

lTasks

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:打电话、联系人列表、查看联系人、添加联系人,如下图:

打电话联系人列表查看联系人添加联系人

下面的应用程序同样也包含了很多activity:

l邮件 - 查看文件夹、邮件列表、邮件,发送邮件和设置邮件账号。

l日历 - 查看天、星期、月、议程,编辑事件、首选项。

l照相机 - 运行照相机、查看图片列表、图片,编辑图片,运行录像机,查看录像列表和录像。

l游戏 - 玩游戏和安装游戏。

l地图 - 查看地图上的位置,查看朋友的位置以及他们的详细信息(朋友的位置、状态、照片)。

Activity是Android应用中最为突出的组件,其余组件分别为:service、content provider、broadcast receiver。更多activities的详情,参见Application Components。

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键的导航功能。

本站文章信息来源于网络以及网友投稿,本站只负责对文章进行整理、排版、编辑,是出于传递更多信息之目的,并不意味着赞同其观点或证实其内容的真实性。如果您有什么意见或建议,请联系QQ28-1688-302!

人工智能实验室
相关文章相关文章
  • 无人驾驶汽车如何改变城市生活?听听他们怎么说

    无人驾驶汽车如何改变城市生活?听听他们怎么说

  • 韩春雨称已能重复实验结果 近期将有消息公布

    韩春雨称已能重复实验结果 近期将有消息公布

  • 未来两年人工智能要怎么走?看这篇就够了

    未来两年人工智能要怎么走?看这篇就够了

  • 英国研发“杀生”机器人 通过生命体获取能量

    英国研发“杀生”机器人 通过生命体获取能量

网友点评网友点评
阅读推荐阅读推荐

据国外媒体报道,在过去两年内,聊天机器人(chatbot)、人工智能以及机器学习的研发和采用取得了巨大进展。许多初创公司正利用人工智能和...

霍金 视觉中国 图 英国著名物理学家霍金(Stephen Hawking)再次就人工智能(AI)发声,他认为:对于人类来说,强大AI的出现可能是最美妙的...

文|郑娟娟 今年,人工智能(AI) 60岁了。在AI60岁的时候,笔者想要介绍一下AI100,一个刚刚2岁的研究项目,但它的预设寿命是100年,甚至更长...

AlphaGo与李世石的人机大战,为大众迅速普及了人工智能的概念。 但对谷歌而言,除了下围棋,现在的人工智能进展到哪一步了?未来,人工智能...