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!

人工智能实验室
相关文章相关文章
  • 全球陷入"区块链狂热"潮,大规模应用还需等待

    全球陷入"区块链狂热"潮,大规模应用还需等待

  • 区块链最近太火,但A股多家公司明确表态不考虑涉足

    区块链最近太火,但A股多家公司明确表态不考虑涉足

  • 汤晓鸥:人工智能的中国式文艺复兴

    汤晓鸥:人工智能的中国式文艺复兴

  • 马云的新零售?张近东的智慧零售?抑或是刘强东的第四次零售革命?

    马云的新零售?张近东的智慧零售?抑或是刘强东的第四次零售革命?

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

算法 任何一个入门的软件开发人员都会听到这句话:算法是软件的灵魂!近年来大火的机器学习即是在算法在人工智能上的集中体现。今日头条通...

据《日本经济新闻》报道,日本东京大学教授稻叶雅幸等人开发出再现日本人骨骼肌肉构造的机器人。机器人各部位的肌肉和骨骼长度与日本人的平...

以奥黛丽-赫本为原型打造的人形机器人索菲娅首次拜访了印度。索菲娅是世界上首位获得公民身份的机器人,她在12月30日出现在了印度理工学院...

在查获现场,代售点电脑旁的一台机器人通过敲击电脑键盘抢票。 广州日报惠州讯 (全媒体记者秦仲阳 通讯员张中铃摄影报道)2018年春运售票已...