intent传递数据调用有以下方法:1、通过intent.setData()来传递url;2、通过Intent.putExtra()方法通过键值对的形势装入数据;3、通过intent.putExtras()来传递bundle对象。setData是将数据以数据流的方式传输,Intent接收后再单独接收Data部分。
1、通过intent.setData()来传递url
setData是将数据以数据流的方式传输,Intent接收后再单独接收Data部分,适合数据量较大的数据传输,如文件或图片等。具体操作如下:
Uri data = getIntent().getData();
if (data != null) {
intent.setData(data);
}
2、通过Intent.putExtra()方法通过键值对的形势装入数据
在新启动的activity中通过getIntent()方法获取启动activity的Intent,并通过getxxxxExtra()获取传递的数据。intent中提供一系列的putExtra()方法的重载,可以把想要传递的数据暂存在intent中,当另一个活动启动后,再把这些数据从intent缓存中取出即可。
3、通过intent.putExtras()来传递bundle对象
putExtra是将数据以key:value的形式放入一个Parcelable对象中,直接由Intent对象携带,适合少量数据。具体操作如下:
intent intent = new Intent(this, activity);
if (bundle != null) {
intent.putExtras(bundle);
}
startActivity(intent);
延伸阅读:
什么是intent?
Intent(意图)主要是解决Android应用的各项组件之间的通讯。
Intent负责对应用中一次操作的动作、动作涉及数据、附加数据进行描述,Android则根据此Intent的描述,负责找到对应的组件,将 Intent传递给被调用的组件,并完成组件的调用。
因此,Intent在这里起着一个媒体中介的作用,专门提供组件互相调用的相关信息,实现调用者与被调用者之间的解耦。
为了实现这个目的,listActivity需要构造一个 Intent,这个Intent用于告诉系统,我们要做“查看”动作,此动作对应的查看对象是“某联系人”,然后调用startActivity (Intent intent),将构造的Intent传入,系统会根据此Intent中的描述,到ManiFest中找到满足此Intent要求的Activity,系统会调用找到的 Activity,即为detailActivity,最终传入Intent,detailActivity则会根据此Intent中的描述,执行相应的操作。
文章标题:intent传递数据调用哪些方法,发布者:小编,转载请注明出处:https://worktile.com/kb/p/35622