Android 之数据传递小结

      Android开发中,在不同模块(如Activity)间经常会有各种各样的数据需要相互传递,常用的的有五种传递方式。它们各有利弊,有各自的应用场景。下面分别介绍一下:

1、 Intent对象传递简单数据

      Intent的Extra部分可以存储传递的数据,可以传送int, long, char等一些基础类型。

[1]传递页面:

Intent intent = new Intent();
intent.setClass(MainActivity.this, SecondActivity.class);
Bundle bundle = new Bundle();     //打包发送
bundle.putString("name","123");    //绑定参数
intent.putExtra("maps",bundle);
startActivity(intent);

[2]接收页面:

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    TextView tv = new TextView(this);
    Intent intent = this.getIntent();
    Bundle bundle = intent.getBundleExtra("maps");     //获取打包数据bundle
    String name = bundle.getString("name");     //取出需要的数据
    tv.setText(name);
    setContentView(tv);
}

或者

@Override
 protected void onCreate(Bundle savedInstanceState) {
  super.onCreate(savedInstanceState);
  setContentView(R.layout.second);
  TextView txt = (TextView)this.findViewById(R.id.txt);
  Intent intent = this.getIntent();
  Bundle bundle = intent.getBundleExtra("maps");     //获取打包数据bundle
  String name = bundle.getString("name");     //取出需要的数据
  txt.setText(name);
 }

2.、Intent对象传递复杂数据

      有时候我们想传递如ArrayList之类复杂些的数据,这种原理是和上面一种是一样的,只是在传参数前,要用新增加一个List将对象包起来。如下:

 

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。