Android中的Bundle的具体使用
一、API文档说明

  1.介绍

    用于不同Activity之间的数据传递

  1.重要方法

    clear():清除此Bundle映射中的所有保存的数据。

    clone():克隆当前Bundle

    containsKey(String key):返回指定key的值

    getString(String key):返回指定key的字符

    hasFileDescriptors():指示是否包含任何捆绑打包文件描述符

    isEmpty():如果这个捆绑映射为空,则返回true

    putString(String key, String value):插入一个给定key的字符串值

    readFromParcel(Parcel parcel):读取这个parcel的内容

    remove(String key):移除指定key的值

    writeToParcel(Parcel parcel, int flags):写入这个parcel的内容

二、实例

Java代码
1.public class BundleDemo extends Activity {
2. private EditText etName;
3. Button btn;
4.
5. /*
6. * (non-Javadoc)
7. * @see android.app.Activity#onCreate(android.os.Bundle)
8. */
9. @Override
10. protected void onCreate(Bundle savedInstanceState) {
11. // TODO Auto-generated method stub
12. super.onCreate(savedInstanceState);
13. setContentView(R.layout.bundle);
14.
15. etName = (EditText) findViewById(R.id.etname);
16. btn = (Button) findViewById(R.id.btn);
17.
18. btn.setOnClickListener(new OnClickListener() {
19. @Override
20. public void onClick(View v) {
21. String info = etName.getText().toString();
22. Bundle bundle = new Bundle();
23.
24.   //保存输入的信息
25. bundle.putString("name", info);
26. Intent intent=new Intent(BundleDemo.this,BundleDemo1.class);
27. intent.putExtras(bundle);
28. finish();
29. startActivity(intent);
30. }
31. });
32. }
33.}
public class BundleDemo extends Activity {
private EditText etName;
Button btn;

/*
* (non-Javadoc)
* @see android.app.Activity#onCreate(android.os.Bundle)
*/
@Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
setContentView(R.layout.bundle);

etName = (EditText) findViewById(R.id.etname);
btn = (Button) findViewById(R.id.btn);

btn.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
String info = etName.getText().toString();
Bundle bundle = new Bundle();

  //保存输入的信息
bundle.putString("name", info);
Intent intent=new Intent(BundleDemo.this,BundleDemo1.class);
intent.putExtras(bundle);
finish();
startActivity(intent);
}
});
}
}



Java代码
1.public class BundleDemo1 extends Activity {
2. private TextView etName;
3. /* (non-Javadoc)
4. * @see android.app.Activity#onCreate(android.os.Bundle)
5. */
6. @Override
7. protected void onCreate(Bundle savedInstanceState) {
8. // TODO Auto-generated method stub
9. super.onCreate(savedInstanceState);
10. setContentView(R.layout.b1);
11.
12. etName=(TextView)findViewById(R.id.txtname);
13. Bundle b=getIntent().getExtras();
14. //获取Bundle的信息
15. String info=b.getString("name");
16. etName.setText("您的姓名:"+info);
17. }
18.}
public class BundleDemo1 extends Activity {
private TextView etName;
/* (non-Javadoc)
* @see android.app.Activity#onCreate(android.os.Bundle)
*/
@Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
setContentView(R.layout.b1);

etName=(TextView)findViewById(R.id.txtname);
Bundle b=getIntent().getExtras();
//获取Bundle的信息
String info=b.getString("name");
etName.setText("您的姓名:"+info);
}
} 三、与SharedPreferences的区别

  SharedPreferences是简单的存储持久化的设置,就像用户每次打开应用程序时的主页,它只是一些简单的键值对来操作。它将数据保存在一个xml文件中

  Bundle是将数据传递到另一个上下文中或保存或回复你自己状态的数据存储方式。它的数据不是持久化状态。

更多相关文章

  1. Android(安卓)安全机制概述 Permission
  2. android中Bitmap数据如何释放
  3. Android(安卓)使用SQLiteDatabase操作SQLite数据库(一)
  4. Android的应用组件
  5. Android官方开发文档Training系列课程中文版:Android的安全建议
  6. 测试 Android(安卓)G1 是否支持 OpenGL 硬件加速
  7. Android高频面试专题 - 基础篇(一)Activity
  8. android与服务器交互方式
  9. android通过Location API显示地址信息的实现方法

随机推荐

  1. Unknown error: Unable to build: the fi
  2. Android中的通知—Notification
  3. Android 数据Parcel序列化过程源码分析
  4. Android 实现语音识别的完整代码
  5. Android之Media播放器源码分析(framework
  6. Android 中使用代码动态网格布局
  7. Android中应用程序drawable图片资源占用
  8. android studio gradle/gradle plugin 配
  9. android动态壁纸
  10. android实现程序的后台运行 and 完全退出