zoukankan      html  css  js  c++  java
  • 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的内容

    官方文档

    http://developer.android.com/reference/android/os/Bundle.html

    实例

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

    参考链接

    Android之Bundle传递数据详解与实例及Bundle与SharedPreferences的区别 - ForrestWoo - 博客园

    Android Bundle类 - randyjiawenjie的专栏 - 博客频道 - CSDN.NET

  • 相关阅读:
    图的存储代码实现
    最小生成树算法
    图的遍历
    图的存储结构
    ftp服务器的配置
    利用c++利用odbc连接mysql数据库
    测试odbc连接sqlsever数据库是否成功的代码
    gk888t打印机安装
    Win10下windows mobile设备中心连接不上的方法无法启动
    js千分位加逗号和四舍五入保留两位小数
  • 原文地址:https://www.cnblogs.com/jjx2013/p/6223649.html
Copyright © 2011-2022 走看看