Android官方文档之Activity和Task(2)

来源:未知 责任编辑:责任编辑 发表时间:2014-02-02 17:44 点击:

Android提供的拨号程序就是一个Activity组合的例子。这个程序是由4个Activity组合成的: 拨号,联系人列表,联系人详情,和新建联系人。如下所示:

下面是一些其它的由多个Activity组合的Application的例子:
电子邮件 - 查看目录、查看消息列表、查看消息、写消息、配置账号。
日历 - 查看日、周、月、计划,编辑时间,设置属性,提醒
摄像拍照 - 运行照相机,看图片列表,看图,切图,运行摄像机,看视频列表,看视频
游戏 - 游戏本身,以及安装设置
地图 - 查看当前位置,列表(turn list或者好友列表),详细资料(好友位置、状态、照片)
Activity,是组成Application的四种组件中,最重要的一个。另外的组件是, Service,ContentProvider,BroadcaseReceiver。更多关于Activity的细节,请参考 Application组件中的Activity部分。
Activity栈
当用户在Application中,从一个Activity跳到另一个时,Android系统会 保存一个用户访问Activity的线性导航历史。 这就是activity栈,也被称为返回栈。 一般来说,当用户运行一个新的Activity,这个Activity就会被加到Activity栈里。因此,当用户 按BACK键的时候,栈中的上一个Activity就会被展示出来。 用户可以一直按BACK键,直到返回到了主屏。 The adding of an activity to the current stack happens whether or not that activity begins a new task (as long as that task was started without going Home), so going back can let the user go back to activities in previous tasks. 把Activity加入到当前栈里的操作,与Activity是否启动了一个新Task无关。 返回操作可以使用户从当前Task回到上一个Task。 用户可以在应用管理器、主屏、或者“最近Task”屏幕,恢复到刚刚的Task。
只有Activity可以加到Activity栈里去,其它的,包括View、Window、Menu或者Dialog都不行。 这就是说,假设,界面A跳到界面B,然后用户可以用BACK跳回界面A。这种情况下,A和B都要被实现成Activity。 这个规则有一个例外的情况。那就是除非你的应用 控制了BACK键并且自己管理界面导航。
Task
一个Task是用户可以完成一个特定目标的一组Activity。与Activity属于哪个Application无关。 除非明确地新建一个Task,(参考打断Task),用户启动的所有Activity都默认是当前Task的一部分。 需要注意的是,这些Activity可能属于任何一个Application — 属于同一个Application或者属于不同的Application。 这就是说,一个Task可以是,从联系人列表开始,然后选择一个邮箱地址(通过电邮Activity),然后附加一个照片(通过图片Activity)。 联系人列表、电邮、图片,这些都存在于不同的Activity中。
启动Task的Activity被称作根Activity。 通常,Task是从应用管理器、主屏或者最近Task(长按HOME键)开始的。 用户可以通过点击根Activity的图标回到Task里去,就像启动这个Activity一样。 在这个Task中,BACK键可以回到这个Task的前一个Activity里。 Activity栈可以由一个或多个Task组成。
一些关于Task的例子:
发送一个有附件的短信
看YouTube,然后通过Email分享这个视频
打断Task - Task的一个重要的特性就是,用户可以中断他当前正在做的事(他的任务),去进行另一个Task,然后可以返回到原来的那个Task去完成它。 这个特性的意图,就是用户可以同时运行多个任务,并且可以在这些任务间切换。 有两种主要的的方法离开一个Task,这两种情况中,应该让用户能够返回到他们离开的那个任务:
用户被Notification打断 – 来了一个通知,用户开始关注处理这个通知

发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
用户名: 验证码:点击我更换图片
最新评论 更多>>

推荐热点

  • Android 完全退出程序
  • 原创:Android应用开发-Andorid歌词秀,含源码
  • android 屏幕保护
  • Android手机软件汉化教程---第四课 dex文件汉化
  • 众多Android 开源项目推荐,给力工作给力学习
  • Android Audio代码分析4
  • Android得到已安装的应用程序信息!
  • Android开发者指南(29) —— USB Host and Accessory
  • Android成长的幕后推手:工程师鲁宾
网站首页 - 友情链接 - 网站地图 - TAG标签 - RSS订阅 - 内容搜索
Copyright © 2008-2015 计算机技术学习交流网. 版权所有

豫ICP备11007008号-1