第一種寫法,用於批量添加數據到Intent: java
Intent intent = new Intent(); Bundle bundle = new Bundle();//該類用做攜帶數據 bundle.putString("name", "林計欽"); intent.putExtras(bundle);//爲意圖追加額外的數據,意圖原來已經具備的數據不會丟失,但key同名的數據會被替換
第二種寫法:這種寫法的做用等價於上面的寫法,只不過這種寫法是把數據一個個地添加進Intent,這種寫法使用起來比較方便,並且只須要編寫少許的代碼。this
Intent intent = new Intent(); intent.putExtra("name", "林計欽");
Intent提供了各類經常使用類型重載後的putExtra()方法,如: putExtra(String name, String value)、 putExtra(String name, long value),在putExtra()方法內部會判斷當前Intent對象內部是否已經存在一個Bundle對象,若是不存在就會新建Bundle對象, 之後調用putExtra()方法傳入的值都會存放於該Bundle對象,下面是Intent的putExtra(String name, String value)方法代碼片段:spa
public class Intent implements Parcelable { private Bundle mExtras; public Intent putExtra(String name, String value) { if (mExtras == null) { mExtras = new Bundle(); } mExtras.putString(name, value); return this; } }