Android中Bundle類的作用

2021-06-22 14:43:08 字數 2560 閱讀 6883

bundle

類用作攜帶資料,它類似於

map,用於存放

key-value

名值對形式的值。相對於

map,它提供了各種常用型別的

put***()/get***()

方法,如

:putstring()/getstring()

和putint()/getint()

,put***()

用於往bundle

物件放入資料,

get***()

方法用於從

bundle

物件裡獲取資料。

bundle

的內部實際上是使用了

hashmap

型別的變數來存放

put***()

方法放入的值

在呼叫bundle

物件的get***()

方法時,方法內部會從該變數中獲取資料,然後對資料進行型別轉換,轉換成什麼型別由方法的

***決定,

get***()

方法會把轉換後的值返回。

使用bundle在activity間傳遞資料

//資料寫入intent

intent openwelcomeactivityinten

t=new intent();

bundle mybundelforname=new bundle();

mybundelforname.putstring("key_name",inname.gettext().tostring());

mybundelforname.putstring("key_age",inage.gettext().tostring());

openwelcomeactivityinten

t.putextras(mybundelforname);

openwelcomeactivityinten

t.setclass(androidbundel.this, welcome.class);

startactivity(openwelcomeactivityinten

t);

目標activity 中獲取資料

//從intent 中獲取資料

bundle mybundelforgetname=this.getintent().getextras();

string name=mybundelforgetname.getstring("key_name");

mytextview_showname.settext("歡迎您進入:"+name);

使用bundle在activity間傳遞資料2

從源請求activity 中通過乙個intent 把乙個服務請求傳到目標activity 中

private intent tonextintent;//intent 成員宣告

tonextintent=new intent();//intent 定義

tonextintent.setclass(twoactivityme3.this, secondactivity3.class);

//設定開啟的下乙個activity

startactivityforresult(tonextintent, request_ask);

//開啟intent 時候,把請求碼同時傳遞

在源請求activity 中等待intent 返回應答結果,通過過載onactivityresult()方法

@override

protected void onactivityresult(int requestcode,int resultcode, intent data) else if(resultcode==result_ok)}}

第乙個引數是你開啟請求intent時的對應請求碼,可以自己定義。

第二個引數是目標activity返回的驗證結果碼

第三個引數是目標activity返回的intent

目標activity 中傳送請求結果**,連同源activity 請求的資料一同繫結到bundle

中通過intent 傳回源請求activity 中

log與ddms(檢視log等資訊)

@override

protected void onactivityresult(int requestcode,

int resultcode, intent data) else if(resultcode==result_ok)}}

目標activity 中傳送請求結果**,連同源activity 請求的資料一同繫結到bundle

中通過intent 傳回源請求activity 中

backintent=new intent();

stringbundle=new bundle();

stringbundle.putstring("myname", name);

backintent.putextras(stringbundle);

setresult(result_ok, backintent);//返回activity結果碼

finish();

Android中Bundle類的作用

拷貝自360圖書館 android中bundle類的作用 bundle類用作攜帶資料,它類似於 map,用於存放 key value 名值對形式的值。相對於 map,它提供了各種常用型別的 put get 方法,如 putstring getstring 和putint getint put 用於往...

Android中Bundle類的作用

bundle類用作攜帶資料,它類似於map,用於存放key value名值對形式的值。相對於map,它提供了各種常用型別的put get 方法,如 putstring getstring 和putint getint put 用於往bundle物件放入資料,get 方法用於從bundle物件裡獲取資...

Android中Bundle的用法

bundle經常與intent一起用,在兩個activity間傳遞資料。個人目前的理解就是,如果intent傳遞的資料只有乙個,那麼就直接用intent的putextra 方法直接放進引數即可。那如果intent需要傳遞的是好幾個引數,或者是乙個類,那麼這時候就需要用到bundle bundle b...