没有合适的资源?快使用搜索试试~ 我知道了~
Android学习笔记(三五):再谈Intent(下)-一些实践.doc
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
0 下载量 182 浏览量
2022-07-08
18:10:28
上传
评论
收藏 209KB DOC 举报
温馨提示
试读
6页
Android学习笔记(三五):再谈Intent(下)-一些实践
资源推荐
资源详情
资源评论
Android
学习笔记(三五):再谈
Intent
(下)-一些实践
分类: Andriod 读书笔记 2011-05-27 11:07 496 人阅读 评论(1) 收藏 举报
Android 的 UI 框架要求用户将他们的 app 分为 activity,通过 itent 来进行调度,其中有一
个 main activity 由 Android 的 launcher 在桌面中调用。例如一个日历的应用,需要查看日
历的 activity,查看单个事件的 activity,编辑事件的 activity 等等。在查看日历的 activity 中,
如果用户选择的某个事件,需要通过查看事件的 activity 来处理。这就是最近本的 app UI 框
架,本次,我们将学习如何通过 intent 来完成。
Activity 之间的关系
某种业务逻辑下,activity1 需要知道被调起的 activity2 是否结束,activity2 就是 activity1
的 subactivity。
另一些业务逻辑下,activity1 并不需要了解被它调起的 activity2 的运行情况,例如在邮件中
打开一个附件,邮件 activity1 并不需要了解查看附件 activity2 是否结束。这种情况下,两
个 activity 不是主从关系,而是 peer 关系,activity2 是一个常规的 activity。
步骤 1:Make the Intent
intent 会封装一个请求给 Android,使得其他 activity 或者 intent receiver 知道如何处理。如
果 intent 要 launch 的 activity 是我们自己编写的,可以很容易通过一个精确指定的 intent 来
实现,例如:
new Intent(this, HelpActivity.class);
其中 HelpActivity.class 就是我们需要 launch 的 component。这个 activity 只需要在
AndroidManifest.xml 文件中定义,但是不需要任何的 inter filter,因为是通过直接请求的方
式。如果我们需要打上一些 data,即 Uri,请求一个通用的 activity,如下:
Uri uri=Uri.parse("geo:"+lat.toString()+","+lon.toString());
Intent i=new Intent(Intent.ACTION_VIEW, uri);
步骤 2:Make the Call
根据 activity 之间的关系,通过 intent 的方法 startActivity()或者 startActivityForResult()
来 launch 另一个 activity。后者是需要知道 activity2 是否运行结束,以及运行的结果。
startActivityForResult()会向 intent 传递一个数字,这个数字对于 calling activity 来讲是唯一
的。用于区分哪个 activity。被调起的 activity 运行完,会在 calling activity 中触发
onActivityResult(),我们可以通过这个唯一的数字来区分到底是哪个被调起的 activity 运行
结束。我们还会得到下面的信息:
1. result code,通过被调起的 activity 用 setResult()来设置,一般是 RESULT_OK 和
RESULT_CANCELLED,当然我们也可以定义我们自己的返回值,(从
RESULT_FIRST_USER 开始定义)
2. 可选的 String,用于传递某些返回信息,例如是一个 URL 来表述某个资源,有例如
在 ACTION_PICK 中返回用户选取内容的数据。
资源评论
oligaga
- 粉丝: 50
- 资源: 2万+
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功