在android開發中,如果要通過乙個activity啟動另外乙個activity,需要呼叫startactivity()函式,這個函式的引數是乙個intent物件,這個物件通常的初始化方式如下:
intent intent = new intent();這樣就完成了乙個新的activity的啟動,但是這種啟動方式兩個activity之間不會有任何的資料傳遞,很多情況下,我們遇到的往往是前乙個activity要把資料傳遞給新啟動的activity,這就要用到bundle物件了。intent.setclass(this,secondactivity.class);
startactivity(intent);
比如在第乙個activity中,我們獲取了身高和性別兩種資料,需要傳遞給新啟動的activity,那麼就要把這些資料封裝進bundle物件裡面,再把bundle物件assign給intent,作為staractivity()函式的引數。
實現**如下:
intent intent = new intent();第二個activity相應的也要接收資料,方法也很簡單,先從intent物件中分離bundle,再按照相同方法提取資料。intent.setclass(this,secondactivity.class);
//封裝bundle物件
bundle bundle = new bundle();
bundle.putdouble("height",height);//height為double型變數
bundle.putstring("***",***);//***為string型變數
//把bundle物件assign給intent
intent.putextras(bundle);
startactivity(intent);
實現**如下:
bundle bundle1=this.getintent().getextras();值string ***=bundle1.getstring("***");
double height=bundle1.getdouble("height");
得注意的是,如果程式中有多個activity,要在androidmanifest.xml中宣告,宣告乙個activity格式如下:
當
存在多個activity時,必須指定乙個最先啟動的activity,也是在androidmanifest.xml中宣告,宣告方式如下:
bundle物件還有其他很多種對不同資料型別的操作方法,比如getboolean等,具體可以到android官網去參考。
iOS開發bundle物件使用詳解
bundle是乙個目錄,其中包含了程式會使用到的資源.這些資源包含了如影象,聲音,編譯好的 nib檔案 使用者也會把bundle稱為plug in 對應bundle,cocoa提供了類nsbundle.我們的程式是乙個bundle.在finder中,乙個應用程式看上去和其他檔案沒有什麼區別.但是實際...
使用EventBus代替Bundle傳遞引數。
註冊 eventbus.getdefault register this 反註冊 eventbus.getdefault unregister this post方法 eventbus.getdefault post obj 接收方法 如果使用onevent作為訂閱函式,那麼該事件在哪個執行緒發布出...
使用Bundle在Activity間傳遞資料
文章 1 使用bundle在activity間傳遞資料1 從源activity 中傳遞資料 資料寫入intent intent openwelcomeactivityintent new intent bundle mybundelforname new bundle mybundelforname...