作者pokk (璐琺)
看板AndroidDev
標題[問題] 傳遞參數的用法bundle & intent
時間Wed Feb 23 21:02:42 2011
請問大家一個小問題,
在傳遞Activity參數之間的程式寫法,
我有在書上看過這樣的程式碼,
單純用intent傳遞參數
Intent intent = new Intent();
intent.putExtra("KEY_MONTH", intMonth);
intent.putExtra("KEY_DAY", intDay);
startActivity(Activity1.this, Activity2.class);
另一種方式是使用Bundle的方式
Intent intent = new Intent();
Bundle bundle = new bundle();
bundle.putInt("KEY_MONTH", intMonth);
bundle.putInt("KEY_DAY", intDay);
intent.putExtras(bundle);
startActivity(Activity1.this, Activity2.class);
想請問這樣傳遞值的方式有什麼差異呀?
我試了幾次感覺都可以達到相同功能,
但就是不曉得對於程式的話是差在哪一邊
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.115.52.201
1F:推 hsnu114444:bundle讓你傳遞參數的方式比較清楚,通常你不會只 02/23 21:07
2F:→ hsnu114444:一兩個東西進去,而是很多個,如果全部都用key的方式 02/23 21:08
3F:→ hsnu114444:塞進intent,命名不但很不方便還會很雜亂。 02/23 21:08
4F:→ hsnu114444:功能的話應該是沒有差別... 02/23 21:09
5F:推 hsnu114444:intent可以連續呼叫putXXX(), bundle不行 02/23 21:12
6F:→ pokk:所以執行結果相同,只是在於寫程式的習慣不同而已吧!? 02/23 21:18
7F:→ uranusjr:就這個例子是這樣, 但有些東西沒辦法直接當 extra 放進去 02/23 21:21
8F:→ uranusjr:這種時候就非得用 Bundle 不可了 02/23 21:21