你能通过这篇文章学习到什么?
1. 利用intent在两个activity之间传递数据
2. 利用intent在两个activity之间传递数据包
3. 利用intent获取到返回数据
很多人在刚开始进行android开发时,想要在两个activity之间传递数据,但是却并不知道如何去操作。那么通过这篇文章,我将帮助你把这个知识点安排的明明白白~
一、什么是intent?
在我看来,intent就是起到一个中间媒介的作用,可以在activity之间传递数据,也可以进行进行一些基本的action。比如startactivity()之类。如果有感兴趣的朋友,可以去网上查阅相关的资料,在这我就不赘述了~
二、利用intent在两个activity之间传递数据
首先我们创建两个activity,分别叫MainActivity以及OtherActivity。在MainActivity的布局文件中,添加一个button,用于页面之间的转跳,以及相关数据的传输。在OtherActivity的布局文件中,我们添加一个TextView,用于接受数据。
(这两个Xml文件的代码较为简单,我就不贴出来了)
下面主要说说MainActivity和OtherActivity中的代码。
MainActivity中的代码:
这些代码,相信大家都很熟悉,应该不难。我们主要来说说putExtra();
putExtra(“A”,B)中,AB为键值对,第一个参数为键名,第二个参数为键对应的值。顺便提一下,如果想取出Intent对象中的这些值,需要在你的另一个Activity中用getXXXXXExtra方法,注意需要使用对应类型的方法,参数为键名
这时候我们再贴出OtherActivity的代码:
因为我们之前传入的是一个字符串,所以调用getStringExtra这个方法。
这样我们就简单的在两个activity之间传递数据啦~
二、 利用intent在两个activity之间传递数据包
传递数据包,我们主要使用bundle这个类。
首先看MainActivity中的代码:
首先我们创建一个bundle类。当传递字符串时,使用putString方法;传递整数时,用putInt方法…
最后再用putExtras 将数据包传递到另一个activiity。
OtherActivity中的代码:
首先我们创建一个bundle对象,接收MainActivity传递过来的数据。最后用setText方法,将其展现出来。这样一个数据包就传递完成了。
三. 利用intent获取到返回数据
我们继续创建两个Activity,分别叫MainActivity和OtherActivity。但是这次不同的是,我们在MainActivity的xml文件中,创建一个按钮和一个TextView,用于接收返回的数据。在OtherActivity的xml的文件中,我们创建一个EditText和一个button,用于返回数据。
(这两个Xml文件的代码,我也不不一一展示了)
首先看OtherActivity的代码:
都比较基础,我们主要看setResult()这个方法。
它的第一个参数是一个返回码,主要用于设置返回状态,你也可以自行进行定义。第二个参数是一个intent对象。
接下来我们看MainActivity的代码:
注意点:
- 如果我们想要得到返回的数据,就不能使用StartActivity,得使用StartActivityForResult这个方法。
- 还需要重写一个方法onActivityResult,用于接收数据。
这样,我们就可以接收到OtherActivity中,输入的数据了。
四、小结
关于使用intent传递数据的基本用法,就如上文所说的那样,我感觉还是比较简单明了的。而且在未来的开发中,一定会经常遇到。所以大家一定要认真掌握呀~
如果遇到什么问题,请在下方留言,我一定会尽力帮忙解决!大家共同进步呀~