Android之Bundle传递数据详解与实例及Bundle与SharedPreferences的区别

效果如下:

初始界面

输入信息

“确定”以后

一、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的内容

二、实例

  

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);
}
});

}

}

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是将数据传递到另一个上下文中或保存或回复你自己状态的数据存储方式。它的数据不是持久化状态。

<script type="text/javascript"></script>

更多相关文章

  1. ADB 自制万用驱动方法,解决找不到驱动问题,独家秘笈
  2. android http通过post请求发送一个xml
  3. [Android][MMS][PDU]MMS PDU二进制信息解析
  4. Android(安卓)笔记38: BAIDU MAP API GPS数据定位偏移校正
  5. Ubuntu 下不能识别android设备的解决方法
  6. Android(安卓)Camera Framework
  7. android opengl es 简单实例
  8. 实例详解Android文件存储数据方式
  9. Android4.0下的Calendar、events、reminder简单Demo

随机推荐

  1. [置顶] Android下通过pocketsphinx实现离
  2. Android(安卓)5.0 权限管理导致的apk安装
  3. 【Android(安卓)Training - 06】分享数据
  4. 改变Android状态栏字体为黑色
  5. Android(安卓)数据持久化(SQLite数据存储)
  6. Android仿微信文章悬浮窗效果的实现代码
  7. 图像处理-矩阵变换
  8. Android(安卓)drawable resource error:No
  9. Android线程与并行,AsyncTask(AsyncTask回
  10. 关于监听Android的静音键以及音量按键