Bundle物件的使用

2021-07-14 00:01:34 字數 1370 閱讀 7794

在android開發中,如果要通過乙個activity啟動另外乙個activity,需要呼叫startactivity()函式,這個函式的引數是乙個intent物件,這個物件通常的初始化方式如下:

intent intent = new intent();

intent.setclass(this,secondactivity.class);

startactivity(intent);

這樣就完成了乙個新的activity的啟動,但是這種啟動方式兩個activity之間不會有任何的資料傳遞,很多情況下,我們遇到的往往是前乙個activity要把資料傳遞給新啟動的activity,這就要用到bundle物件了。

比如在第乙個activity中,我們獲取了身高和性別兩種資料,需要傳遞給新啟動的activity,那麼就要把這些資料封裝進bundle物件裡面,再把bundle物件assign給intent,作為staractivity()函式的引數。

實現**如下:

intent intent = new intent();

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);

第二個activity相應的也要接收資料,方法也很簡單,先從intent物件中分離bundle,再按照相同方法提取資料。

實現**如下:

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...