Bundle 的使用

来源:互联网 发布:php7怎么配置apache 编辑:程序博客网 时间:2024/05/15 02:53

bundle的认识:

        一种存放字符串和Parcelable类型数据的map类型的容器类,通过存放数据键(key)获取对应的各种类型的值(value),而且必须通过键(key)获取。

bundle的用法:

       Bundle相当于Map类,就是一个映射,用Bundle绑定数据,便于数据处理

        它主要作用于Activity之间的数据传递.

bundle的实例:

第一个Activity发出参数!

import android.app.Activity; import android.content.Intent; import android.os.Bundle; import android.view.MotionEvent; public class TestBundle extends Activity { public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); } public boolean onTouchEvent(MotionEvent event) { Intent intent = new Intent(); intent.setClass(TestBundle.this, Target.class); Bundle mBundle = new Bundle(); mBundle.putString("Data", "hello, bear");//压入数据 intent.putExtras(mBundle); startActivity(intent); finish(); return super.onTouchEvent(event); } } 

第二个Activity,接收参数
import android.app.Activity; import android.os.Bundle; public class Target extends Activity{ public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); Bundle bundle = getIntent().getExtras(); String data=bundle.getString("Data");//读出数据 setTitle(data); } }
另外onCreate(Bundle savedInstanceState) 中的savedInstanceState用于当前activity被切换之前保存临时数据,以便在下次返回时显示之前的数据的。因此在想使用Bundle savedInstanceState保存临时数据,就应该在onCreate(Bundle savedInstanceState)方法中提前写好savedInstanceState!=null时的逻辑。

原创粉丝点击