Bundle在Android开发中十分常见,常用于以下场合:
1.Activity状态数据的保存与恢复涉及到的两个回调:void onSaveInstanceState (Bundle outState)、void onCreate (Bundle savedInstanceState)
2.Fragment的setArguments方法:void setArguments (Bundle args)
3.消息机制中的Message的setData方法:void setData (Bundle data)
也就是说Bundle是用来传递数据的“容器”,它保存的数据,是以key-value(键值对)的形式存在的。
我们经常使用Bundle在Activity之间传递数据,传递的数据可以是boolean、byte、int、long、float、double、string等基本类型或它们对应的数组,也可以是对象或对象数组。当Bundle传递的是对象或对象数组时,必须实现Serializable 或Parcelable接口。
Bundle操作基本数据类型的表格如下:
两个activity之间的通讯可以通过bundle类来实现,代码如下:
//新建一个Bundle类
Bundle mBundle = new Bundle();
//bundle类中加入数据(key -value的形式,另一个activity里面取数据的时候,就要用到key,找出对应的value)
mBundle.putString("Data", "data from TestBundle");
//新建一个intent对象,并将该bundle加入这个intent对象
Intent intent = new Intent();
intent.setClass(TestBundle.this, Target.class);
intent.putExtras(mBundle);
参考:https://blog.csdn.net/dongyunlong123/article/details/85160580