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

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

Contacts重用了Gallery来取图片 - Contacts Activity有一块区域用来显示联系人的图片,而一般来说,所有的图片都保存在Gallery里。 于是Contacts可以重用Gallery Activity来取图片。 这是一个重用Gallery Activity的很好的例子。 下面的图表说明了这个流程(主要部分)。 流程是这样的:用户点击Contacts,然后点选一个联系人查看详细资料,按MENU键,编辑联系人,点击图片区域, 于是就会启动Gallery Activity。用户找到想要的图片后,裁剪并保存。保存这个动作,会导致图片被插入到联系人详情的图片区域中。
Gallery会返回图片给启动自己的Contact Application。 下面一个例子说明了重用Activity但没有返回的情况。 还要注意下面的图标是一个对Activity导航历史(即Activity栈)的说明。用户可以一直按BACK直到回到主屏。
设计Application的时候,考虑如何能够重用其他Application中的Activity, 以及考虑自己的Activity如何被其它Application重用,是一个很好的思路。 如果你的Activity拥有一个和已存在的Activity一样的Intent Filter, 系统会提供给用户一个对这些Activity的选择界面。

Gallery重用Messaging来分享图片 - Sharing is 分享图片是另一个很好的关于在不同的Application重用Activity的例子。 如下图所示,用户启动Gallery,选一个图,按MENU键,选Share,选Messaging。 这就会启动Messaging Activity,然后建立一个新的消息并把图片附在上面。 然后用户填写“收件人”、写个短消息然后发送。 用户的关注点现在在Messaging程序上。 如果用户想回到Gallery,他必须按BACK键。(用户可以通过BACK键从任何一个Activity一路返回到主屏。)
与上一个例子不同,这个对Messaging Activity的重用什么都没有返回给启动它的Gallery Activity。

两个例子实际上都说明了Task — 为了完成一个目标的一系列Activity。 每个例子都是用了来自不同的Application的Activity来完成任务。
代替一个Activity
下面这个情况,是Activity A在不同的Application里代替了Activity B。 这种情况一般发生在Activity A做某项工作比Activity B好的时候。 换句话讲,A的功能足够代替B。 与重用不同的是,重用的时候,A和B做的是不同的事情。
在本例中,用户下载了一个PhoneRingtone Activity的替代品,叫做RingsExtended。 现在,当用户进入Setting,SoundDisplay,PhoneRingtone,系统会提供一个选择界面,让用户选择是使用Android系统的电话铃Activity还是新的这个。 这个对话框有一个多选框,让用户可以选择“这种情况下默认使用这个选项”。 用户选了RingsExtended,然后新的Activity被启动,代替了原来的Android系统电话铃Activity。

多Task
上面说过,用户可以从一个Activity通过HOME切到主屏,然后进入另一个Activity,而前一个Activity不会被销毁。 下面演示了进入Map Application的情况。
State 1 - 用户进入ViewMap Activity,搜索一个地址。假设网络非常慢,应用需要异常长的时间来搜索。
State 2 - 用户想在等待的时候做一些其它事情,所以他按HOME键,离开Map,但是没有打断网络连接。现在Map在后台继续工作。
注意,你可以自己决定,在程序被挪到后台后,是继续运行还是停止。 (参考onStop(),Activity生命周期)。 对于从网络上下载数据这类Activity来说,建议还是让它们在后台的时候,继续工作。用户就可以多任务了。

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

推荐热点

  • 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