今天总结的是在Activity之间传递参数。
1.首先是向一个Activity传递简单数据
首先,创建一个MainActivity,在其activity_main.xml中创建一个按钮,该按钮将启动传递数据的功能
![这里写图片描述](https://img-blog.csdn.net/20150924122500777)
然后我们看看主函数MainActivity.java
通过下图这个方法,找到先前创建好的按钮,并给其添加事件监听操作
![这里写图片描述](https://img-blog.csdn.net/20150924122801356)
下面,我们正式讲将数据传递给另外一个Activity的几种方法
在这之前,我们先创建意图对象和创建另外一个Activity,将其命名为TheAty
![这里写图片描述](https://img-blog.csdn.net/20150924123059467)
这里的TheAty是接下来接受MainActivity数据的另一个Activity
方式一:
数据发送方MainActivity:
通过putExtra进行数据的传递
i.putExtra("data","Hello Scau team");
数据接受方TheAty:
通过getIntent来获得与该Activity相关的Intent
Intent i = getIntent();
通过getStringExtra获得对应的字符串数据
i.getStringExtra("data");
方式二:
数据发送方MainActivity:
通过Bundle来传输数据
![这里写图片描述](https://img-blog.csdn.net/20150924123930219)
数据接受方TheAty:
通过getExtras获得bundle包
数据的呈现,运用String.format方面格式化字符串的格式
String.format("name = %s , sex = %s , age = %d",bundle.getString("name"),bundle.getString("sex"),bundle.getInt("age"));
小技巧:
虽然MainActivity没有向TheAty传送school这个数据
但bundle.getString拥有重载方法 bundle.getString("school","scau")实现这个功能,所以下面也是正确的
String.format("name = %s , sex = %s , age = %d , school = %s",bundle.getString("name"),bundle.getString("sex"), bundle.getInt("age"), bundle.getString("school","scau"));
方式三:
在方式二的基础上稍作变形
数据发送方MainActivity:
![这里写图片描述](https://img-blog.csdn.net/20150924124837353)
数据接受方TheAty:
通过i.getBundleExtras获得Bundle包
Bundle bundle = i.getBundleExtra("data");
然后下面的做法和方法二相同
String.format("name = %s , sex = %s , age = %d",bundle.getString("name"),bundle.getString("sex"),bundle.getInt("age"));
向Activity传递简单数据的操作就讲完了。