Android: Bundle機制

Bundle在Android開發中十分常見,常用於以下場合:

1.Activity狀態數據的保存與恢復涉及到的兩個回調:void onSaveInstanceState (Bundle outState)、void onCreate (Bundle savedInstanceState)
2.Fragment的setArguments方法:void setArguments (Bundle args)
3.消息機制中的Message的setData方法:void setData (Bundle data)
 

也就是說Bundle是用來傳遞數據的“容器”,它保存的數據,是以key-value(鍵值對)的形式存在的。
我們經常使用Bundle在Activity之間傳遞數據,傳遞的數據可以是boolean、byte、int、long、float、double、string等基本類型或它們對應的數組,也可以是對象或對象數組。當Bundle傳遞的是對象或對象數組時,必須實現Serializable 或Parcelable接口

Bundle操作基本數據類型的表格如下:

兩個activity之間的通訊可以通過bundle類來實現,代碼如下:

  1. //新建一個Bundle類

  2. Bundle mBundle = new Bundle();

  3.  
  4. //bundle類中加入數據(key -value的形式,另一個activity裏面取數據的時候,就要用到key,找出對應的value)

  5.  
  6. mBundle.putString("Data", "data from TestBundle");

  7.  
  8. //新建一個intent對象,並將該bundle加入這個intent對象

  9. Intent intent = new Intent();

  10. intent.setClass(TestBundle.this, Target.class);

  11. intent.putExtras(mBundle);

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章