Android Studio移动应用开发从入门到实战(微课版)
上QQ阅读APP看书,第一时间看更新

3.3 Activity中的数据传递方式

在Android开发中,经常需要在Activity中进行数据传递,这里就需要使用3.2节讲到的Intent来实现Activity之间数据的传递。

使用Intent进行数据传递时只需要调用putExtra()方法把数据存储进去即可。这个方法有两个参数,是一种“键值对”的形式,第一个参数为key,第二个参数为value。实现传递参数的具体代码如下:

     //定义字符串变量存储一个值
     String str="android";
     Intent intent=new Intent(this,SecondActivity.class);
     //传递参数
     intent.putExtra("receive_str",str);
     startActivity(intent);

上述代码中将一个字符串变量str传递到SecondActivity中,然后需要在SecondActivity中接收这个参数,具体的代码如下所示:

     Intent intent=this.getIntent();
     String receive_str=intent.getStringExtra("receive_st");

上面就是通过Intent传递和接收参数的一种简单方式,如果需要传递的参数比较多,就需要使用putExtras()方法传递数据,该方法传递的是Bundle对象,具体的代码如下所示:

     Intent intent=new Intent(this,SecondActivity.class);
     Bundle bundle=new Bundle();
     bundle.putString("phone","123456");
     bundle.putString("sex","男");
     bundle.putString("age","18");
     intent.putExtras(bundle);
     startActivity(intent);

上述代码使用Bundle对象传递参数,在SecondActivity中取出这些参数的具体代码如下所示:

     Intent intent=this.getIntent();
     Bundle bundle=intent.getExtras();
     String phone=bundle.getString("phone");

在上述代码中,在接收Bundle对象封装的数据时,需要先接收对应的Bundle对象,然后再根据key取出value。接下来将在3.4节讲解如何使用在布局文件中定义的各个控件以及如何进行数据的传递并显示。