1.Bundle传递数据, 因为Bundle中已经封装好了简单数据类型,所以我们直接去设置数据,下面就来看看具体的操作:

  case R.id.Btn_Msg:                // 实例化一个Bundle                  Bundle bundle = new Bundle();                Intent intent=new Intent(MainActivity.this,Main2Activity.class);                //设置数据                String name="admin";String num="123";                //把数据保存到Bundle里                  bundle.putString("name", name);                bundle.putString("num",num);                //把bundle放入intent里                  intent.putExtra("Message",bundle);                startActivity(intent);                break;

把数据放到Bundle中,然后仔使用intent去传递,下面再来看下怎么去获取的从Bundle中传递的数据:

 //获取数据          Intent intent = getIntent();        //从intent取出bundle          Bundle bundle = intent.getBundleExtra("Message");        //获取数据          String name = bundle.getString("name");        String num = bundle.getString("num");        //显示数据          text_show.setText(name + "\n" + num);

2,Bundle传递对象,如果我们想要传递一个复杂的数据类型就会用到Bundle中的方法Serizlizable
在这里我们要把数据转成Serizlizable对象,然后在进行相应的操作

如这样的一个对象:

public class Persion implements Serializable {    private String name;    private String num;    public String getName() {        return name;    }    public void setName(String name) {        this.name = name;    }    public String getNum() {        return num;    }    public void setNum(String num) {        this.num = num;    }}

具体操作如下,这边把数据设置写死了,,开始传递对象

  case R.id.Btn_Obj:                Persion persion=new Persion();                //设置数据                String Name="zhangsan";String Num="111111";                persion.setName(Name);                persion.setNum(Num);                // 实例化一个Bundle                  Bundle bundle1 = new Bundle();                // 把Persion数据放入到bundle中                  bundle1.putSerializable("persion",persion);                Intent intent1=new Intent(MainActivity.this,Main2Activity.class);                intent1.putExtras(bundle1);                startActivity(intent1);                break;

同理我也是把对象放到Bundle中,然后在使用Intent进行传递,下面看看我们怎么获取Bundle传递的对象:

 Intent intent=getIntent();        // 实例化一个Bundle          Bundle bundle=intent.getExtras();        //获取里面的Persion里面的数据          Persion persion= (Persion) bundle.getSerializable("persion");        text_show.setText("姓名:"+persion.getName()+"\n"+"号码:"+persion.getNum());

总结一下,在使用Bundle传递对象的时候,我先让Persion类实现Serializable接口,然后用putSerializable(String key,Serializble value)来存储数据,接收数据的时候再Serializanle getSerizlizble(String key)来取出数据,,道理都很简单!只是需要一步一步的去解决,,,,做人和写代码一样,都是需要一步一步脚踏实地的去做,没有什么一步登天。。。

更多相关文章

  1. “罗永浩抖音首秀”销售数据的可视化大屏是怎么做出来的呢?
  2. Nginx系列教程(三)| 一文带你读懂Nginx的负载均衡
  3. 不吹不黑!GitHub 上帮助人们学习编码的 12 个资源,错过血亏...
  4. android模拟器接收不到UDP数据包解决方法
  5. android,java知识点总结(一)
  6. Android-Activity介绍
  7. android数据库操作:根据过滤条件获取部分通讯录信息
  8. Android(安卓)Parcelable 错误 Parcel: Class not found when un
  9. Android(安卓)MediaPlayer

随机推荐

  1. 背景图片颜色渐变
  2. Android自定义view四手势缩放移动的Image
  3. Android:如何关/启 自动同步(Auto Sync )和
  4. Android 将单位dip转换为px
  5. 自定义弹窗AlertDialog
  6. Android 深入研究SQLite实例(七)
  7. Android中根据Activity的Category搜索匹
  8. android 拍照 无预览 转发
  9. android开发之获取信号强度
  10. Android之基本常见知识 getwindow() reques