Android教程網
  1. 首頁
  2. Android 技術
  3. Android 手機
  4. Android 系統教程
  5. Android 游戲
 Android教程網 >> Android技術 >> Android開發實例 >> Android之Bundle傳遞數據詳解與實例及Bundle與SharedPreferences的區別

Android之Bundle傳遞數據詳解與實例及Bundle與SharedPreferences的區別

編輯:Android開發實例

效果如下:

 

初始界面

輸入信息

“確定”以後

 

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

二、實例

  

  1. public class BundleDemo extends Activity {  
  2.  private EditText etName;  
  3.  Button btn;  
  4.  
  5.  /*  
  6.   * (non-Javadoc)  
  7.   *   
  8.   * @see android.app.Activity#onCreate(android.os.Bundle)  
  9.   */ 
  10.  @Override 
  11.  protected void onCreate(Bundle savedInstanceState) {  
  12.   // TODO Auto-generated method stub  
  13.   super.onCreate(savedInstanceState);  
  14.  
  15.   setContentView(R.layout.bundle);  
  16.  
  17.   etName = (EditText) findViewById(R.id.etname);  
  18.   btn = (Button) findViewById(R.id.btn);  
  19.   btn.setOnClickListener(new OnClickListener() {  
  20.  
  21.    @Override 
  22.    public void onClick(View v) {  
  23.     String info = etName.getText().toString();  
  24.     Bundle bundle = new Bundle();  
  25.  
  26.   //保存輸入的信息  
  27.     bundle.putString("name", info);  
  28.     Intent intent=new Intent(BundleDemo.this,BundleDemo1.class);  
  29.    intent.putExtras(bundle);  
  30.    finish();  
  31.    startActivity(intent);  
  32.    }  
  33.   });  
  34.  
  35.  }  
  36.  
  37. }  
  38.  
  39.    
  40.  
  41. public class BundleDemo1 extends Activity {  
  42. private TextView etName;  
  43.  /* (non-Javadoc)  
  44.   * @see android.app.Activity#onCreate(android.os.Bundle)  
  45.   */ 
  46.  @Override 
  47.  protected void onCreate(Bundle savedInstanceState) {  
  48.   // TODO Auto-generated method stub  
  49.   super.onCreate(savedInstanceState);  
  50.     
  51.   setContentView(R.layout.b1);  
  52.     
  53.   etName=(TextView)findViewById(R.id.txtname);  
  54.   Bundle b=getIntent().getExtras();  
  55.   //獲取Bundle的信息  
  56.   String info=b.getString("name");  
  57.   etName.setText("您的姓名:"+info);  
  58.  }  
  59.  
  60. }  
  61.  

 

三、與SharedPreferences的區別

  SharedPreferences是簡單的存儲持久化的設置,就像用戶每次打開應用程序時的主頁,它只是一些簡單的鍵值對來操作。它將數據保存在一個xml文件中

  Bundle是將數據傳遞到另一個上下文中或保存或回復你自己狀態的數據存儲方式。它的數據不是持久化狀態。

  1. 上一頁:
  2. 下一頁:
熱門文章
閱讀排行版
Copyright © Android教程網 All Rights Reserved