问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

Android 用Gson解析的数据怎么传递intent

发布网友 发布时间:2022-06-20 16:03

我来回答

2个回答

热心网友 时间:2024-11-08 23:59

在Android参考文档中,对Intent的定义是执行某操作的一个抽象描述(确实很抽象)。我们先来看看这里的抽象描述,到底描述了什么。

首先,是要执行的动作(action)的一个简要描述,如VIEW_ACTION(查看)、EDIT_ACTION(修改)等,Android为我们定义了一套标准动作:

MAIN_ACTION

VIEW_ACTION

EDIT_ACTION

PICK_ACTION

GET_CONTENT_ACTION

DIAL_ACTION

CALL_ACTION

SENDTO_ACTION

ANSWER_ACTION

INSERT_ACTION

DELETE_ACTION

RUN_ACTION

LOGIN_ACTION

CLEAR_CREDENTIALS_ACTION

SYNC_ACTION

PICK_ACTIVITY_ACTION

WEB_SEARCH_ACTION

此外,我们还可以根据应用的需要,定义我们自己的动作,并可定义相应的Activity来处理我们的自定义动作。

其次,是执行动作要操作的数据(data),Android中采用指向数据的一个URI来表示,如在联系人应用中,一个指向某联系人的URI可能为:content://contacts/1。

这种URI表示,通过 ContentURI这个类来描述,具体可以参考android.net.ContentURI类的文档。

以联系人应用为例,以下是一些action / data对,及其它们要表达的意图:

VIEW_ACTION content://contacts/1-- 显示标识符为"1"的联系人的详细信息

EDIT_ACTION content://contacts/1-- 编辑标识符为"1"的联系人的详细信息

VIEW_ACTION content://contacts/-- 显示所有联系人的列表

PICK_ACTION content://contacts/-- 显示所有联系人的列表,并且允许用户在列表中选择一个联系人,然后把这个联系人返回给父activity。例如:电子邮件客户端可以使用这个Intent,要求用户在联系人列表中选择一个联系人

另外,除了action和data这两个重要属性外,还有一些附加属性:

category(类别),被执行动作的附加信息。例如 LAUNCHER_CATEGORY 表示Intent 的接受者应该在Launcher中作为顶级应用出现;而ALTERNATIVE_CATEGORY表示当前的Intent是一系列的可选动作中的一个,这些动作可以在同一块数据上执行。

type(数据类型),显式指定Intent的数据类型(MIME)。一般Intent的数据类型能够根据数据本身进行判定,但是通过设置这个属性,可以强制采用显式指定的类型而不再进行推导。

component(组件),指定Intent的的目标组件的类名称。通常 Android会根据Intent 中包含的其它属性的信息,比如action、data/type、category进行查找,最终找到一个与之匹配的目标组件。但是,如果 component这个属性有指定的话,将直接使用它指定的组件,而不再执行上述查找过程。指定了这个属性以后,Intent的其它所有属性都是可选的。

extras(附加信息),是其它所有附加信息的集合。使用extras可以为组件提供扩展信息,比如,如果要执行"发送电子邮件"这个动作,可以将电子邮件的标题、正文等保存在extras里,传给电子邮件发送组件。

总之,action、 data/type、category和extras 一起形成了一种语言。

这种语言使系统能够理解诸如"查看某联系人的详细信息"之类的短语。随着应用不断的加入到系统中,它们可以添加新的action、 data/type、category来扩展这种语言。应用也可以提供自己的Activity来处理已经存在的这样的"短语",从而改变这些"短语"的行为。

热心网友 时间:2024-11-09 00:00

先把new 类做 Parcelable 序列化,然后intent支持putParcelable 做参数。就可以put news了。
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
ef英语哪个好 EF英孚英语培训怎么样? 英孚英语好不好 EF英孚教育到底好不好 大佬们,麦芒7和荣耀10那个值得入手?2500以下的机子还有啥好推荐的么... 介绍几款2500元以前的手机 像素一定要高 其他的不做要求 近期想入手一部安卓手机,价格2200到2500左右…买HTC desire Z还是 三星... 笔记本忘记开机密码怎么办急死了 笔记本电脑屏幕开机锁忘记密码 怎么办?急死了 华硕笔记本电脑开机密码忘记了怎样找回?系统是Windows 7旗舰版... 安卓中的fragment如何获取intent传给activity的数据? 被封怎么办 那里有慈溪那个视频?谁告诉下谢啦! 慈溪哪个影楼拍摄全家福最好? 慈溪的视频 慈溪哪家公司拍摄企业形象片,企业宣传片,专题片好点 慈溪哪家公司拍摄企业形象片,企业宣传片,专题片好点? 电磁炉可不可以把普通的锅(不是配套的平底锅 或是饭盒 )放在上面_百... 电磁炉为什么有时认铁锅有时不认是什么原因 为什么电磁炉开启电源要认锅? 被封了怎么办? 我的被永久封号了,怎么办? 春节竟然是结婚旺季 春节有什么特别寓意吗 雅迪v20仪表盘尺寸多少 网友吐槽国庆放假要赶超5场婚宴,为何国庆扎堆结婚? 我的被封 了,怎么登都登不上,怎么办? 为什么说立春在春节前就是寡夫年,寡夫年结婚真的不好吗? 手机用什么卡比较省话费呀? 劳利事的硒鼓好用吗?质量怎么样? 易水送别翻译及赏析是什么? 有《lol》“诺手”大招详解吗? 我的被封了怎么办啊? 有一道数学题,两排东西上面6个,下面6个,怎么样移动使下面一排比上面一... ...30,我中间删除了6,如何能让下面一行自动替补上去变成6 在下面16个6之间添上+、-、×、÷___,使下面的算式成立:6 6 6 6... 我有IO根小棒,我有6根小棒,怎样才能使两人的小棒数量同样多? 被封了,我试解封多次,还是失败了,怎么办? 哪几个生肖旺夫又益子? 被封这种情况应该怎么办? 怎么才能申请到济南移动的空号? grenzebach玻璃切割系统的组成 梦见在植物地里栽树 被封了怎么办? 康熙最爱的女人,从宫女到皇后,她怎么做到的 大宋贤后谢苏芳:从侍女逆袭成为太皇太后,她究竟有何过人之处?_百度知 ... 窦漪房是如何从太后的宫女,摇身一变成为皇后的? 窦漪房是如何从一个小小的宫女逆袭成为皇后? 历史上最幸运的宫女,作弊不成因祸得福,反从宫女变成了皇后,她是谁? 好玩的需要动脑子的单机游戏介绍 单机手游求推荐 要那种需要动脑的游戏 我在高铁上玩的