Android学习之利用Intent传递数据

你能通过这篇文章学习到什么?

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中的代码:

Android学习之利用Intent传递数据_第1张图片
这些代码,相信大家都很熟悉,应该不难。我们主要来说说putExtra();

putExtra(“A”,B)中,AB为键值对,第一个参数为键名,第二个参数为键对应的值。顺便提一下,如果想取出Intent对象中的这些值,需要在你的另一个Activity中用getXXXXXExtra方法,注意需要使用对应类型的方法,参数为键名

这时候我们再贴出OtherActivity的代码:
Android学习之利用Intent传递数据_第2张图片
因为我们之前传入的是一个字符串,所以调用getStringExtra这个方法。

这样我们就简单的在两个activity之间传递数据啦~

二、 利用intent在两个activity之间传递数据包

传递数据包,我们主要使用bundle这个类。

首先看MainActivity中的代码:

Android学习之利用Intent传递数据_第3张图片
首先我们创建一个bundle类。当传递字符串时,使用putString方法;传递整数时,用putInt方法…
最后再用putExtras 将数据包传递到另一个activiity。

OtherActivity中的代码:
Android学习之利用Intent传递数据_第4张图片
首先我们创建一个bundle对象,接收MainActivity传递过来的数据。最后用setText方法,将其展现出来。这样一个数据包就传递完成了。

三. 利用intent获取到返回数据

我们继续创建两个Activity,分别叫MainActivity和OtherActivity。但是这次不同的是,我们在MainActivity的xml文件中,创建一个按钮和一个TextView,用于接收返回的数据。在OtherActivity的xml的文件中,我们创建一个EditText和一个button,用于返回数据。
(这两个Xml文件的代码,我也不不一一展示了)

首先看OtherActivity的代码:

Android学习之利用Intent传递数据_第5张图片
都比较基础,我们主要看setResult()这个方法。

它的第一个参数是一个返回码,主要用于设置返回状态,你也可以自行进行定义。第二个参数是一个intent对象。

接下来我们看MainActivity的代码:
Android学习之利用Intent传递数据_第6张图片
注意点:

  1. 如果我们想要得到返回的数据,就不能使用StartActivity,得使用StartActivityForResult这个方法。
  2. 还需要重写一个方法onActivityResult,用于接收数据。

这样,我们就可以接收到OtherActivity中,输入的数据了。

四、小结

关于使用intent传递数据的基本用法,就如上文所说的那样,我感觉还是比较简单明了的。而且在未来的开发中,一定会经常遇到。所以大家一定要认真掌握呀~

如果遇到什么问题,请在下方留言,我一定会尽力帮忙解决!大家共同进步呀~

你可能感兴趣的:(Android学习)