根據google官方的文檔(http://developer.android.com/reference/android/os/Bundle.html)
 ?
 Bundle類是一個key-value對,“A mapping from String values to various Parcelable types.”
 類繼承關系:
 java.lang.Object
? ? ?android.os.Bundle
Bundle類是一個final類:
public final class
Bundle
extends Objectimplements Parcelable Cloneable
 兩個activity之間的通訊可以通過bundle類來實現,做法就是:
 (1)新建一個bundle類
 ?
   [java]?view plaincopy    
Bundle?mBundle?=?new?Bundle();???  (2)bundle類中加入數據(key -value的形式,另一個activity里面取數據的時候,就要用到key,找出對應的value)
 ?
 ?
   [java]?view plaincopy    
mBundle.putString("Data",?"data?from?TestBundle");??  
(3)新建一個intent對象,并將該bundle加入這個intent對象
 ?
 ?
   [cpp]?view plaincopy    
Intent?intent?=?new?Intent();????intent.setClass(TestBundle.this,?Target.class);????intent.putExtras(mBundle);??  完整代碼如下:
 ?
 android mainfest.xml如下:
 ?
   [java]?view plaincopy    
<?xml?version="1.0"?encoding="utf-8"?>??<manifest?xmlns:android="http://schemas.android.com/apk/res/android"????????package="com.tencent.test"????????android:versionCode="1"????????android:versionName="1.0">??????<application?android:icon="@drawable/icon"?android:label="@string/app_name">??????????<activity?android:name=".TestBundle"????????????????????android:label="@string/app_name">??????????????<intent-filter>??????????????????<action?android:name="android.intent.action.MAIN"?/>??????????????????<category?android:name="android.intent.category.LAUNCHER"?/>??????????????</intent-filter>??????????</activity>??????<activity?android:name=".Target"></activity>??????</application>??????<uses-sdk?android:minSdkVersion="7"?/>??</manifest>???  
兩個類如下:intent從TestBundle類發起,到Target類。
 ?
 類1:TestBundle類:
 ?
   [java]?view plaincopy    
import?android.app.Activity;????import?android.content.Intent;????import?android.os.Bundle;????import?android.view.View;??import?android.view.View.OnClickListener;??import?android.widget.Button;????public?class?TestBundle?extends?Activity?{??????????????private?Button?button1;??????private?OnClickListener?cl;???????public?void?onCreate(Bundle?savedInstanceState)?{????????????super.onCreate(savedInstanceState);????????????setContentView(R.layout.main);????????????????????button1?=?(Button)?findViewById(R.id.button1);??????????cl?=?new?OnClickListener(){??????????????@Override??????????????public?void?onClick(View?arg0)?{??????????????????????????????????Intent?intent?=?new?Intent();????????????????????intent.setClass(TestBundle.this,?Target.class);????????????????????Bundle?mBundle?=?new?Bundle();????????????????????mBundle.putString("Data",?"data?from?TestBundle");????????????????intent.putExtras(mBundle);????????????????????startActivity(intent);??????????????}??????????};??????????button1.setOnClickListener(cl);??????}??}????  
類2: Target
 ?
 ?
   [java]?view plaincopy    
import?android.app.Activity;????import?android.os.Bundle;??????public?class?Target?extends?Activity{??????????public?void?onCreate(Bundle?savedInstanceState)?{??????????????????????super.onCreate(savedInstanceState);????????????setContentView(R.layout.target);????????????<span?style="color:#ff6600;">Bundle?bundle?=?getIntent().getExtras();???</span>?????????String?data?=?bundle.getString("Data");????????setTitle(data);??????????}????}????  
布局文件:
 ?
 main.xml
 ?
   [java]?view plaincopy    
<?xml?version="1.0"?encoding="utf-8"?>??<LinearLayout?xmlns:android="http://schemas.android.com/apk/res/android"??????android:orientation="vertical"??????android:layout_width="fill_parent"??????android:layout_height="fill_parent"??????>??<TextView????????android:layout_width="fill_parent"???????android:layout_height="wrap_content"???????android:text="@string/hello"??????/>??<Button????????android:layout_width="fill_parent"???????android:layout_height="wrap_content"???????android:text="@string/button"??????android:id?=?"@+id/button1"??????/>???</LinearLayout>?? ?
 ?
  target.xml
   [java]?view plaincopy    
<?xml?version="1.0"?encoding="utf-8"?>??<LinearLayout?xmlns:android="http://schemas.android.com/apk/res/android"??????android:orientation="vertical"??????android:layout_width="fill_parent"??????android:layout_height="fill_parent"??????>??<TextView????????android:layout_width="fill_parent"???????android:layout_height="wrap_content"???????android:text="@string/target"??????/>??</LinearLayout>?? ?
 String.xml
 ?
   [java]?view plaincopy    
<?xml?version="1.0"?encoding="utf-8"?>??<resources>??????<string?name="hello">Hello?World,?TestBundle!</string>??????<string?name="app_name">測試Bundle用法</string>??????<string?name="button">點擊跳轉</string>??????<string?name="target">來到target?activity</string>??</resources>??  
結果:
 ?
  跳轉結果:
  ?
 http://blog.csdn.net/randyjiawenjie/article/details/6651437
 
轉載于:https://www.cnblogs.com/xlchen/p/4215488.html
                            總結
                            
                                以上是生活随笔為你收集整理的Android Bundle类,通过bundle实现在两个activity之间的通讯的全部內容,希望文章能夠幫你解決所遇到的問題。
                            
                            
                                如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。