Android: Bundle机制
Bundle在Android開發(fā)中十分常見,常用于以下場合:
1.Activity狀態(tài)數(shù)據(jù)的保存與恢復(fù)涉及到的兩個(gè)回調(diào):void onSaveInstanceState (Bundle outState)、void onCreate (Bundle savedInstanceState)
2.Fragment的setArguments方法:void setArguments (Bundle args)
3.消息機(jī)制中的Message的setData方法:void setData (Bundle data)
?
也就是說Bundle是用來傳遞數(shù)據(jù)的“容器”,它保存的數(shù)據(jù),是以key-value(鍵值對(duì))的形式存在的。
我們經(jīng)常使用Bundle在Activity之間傳遞數(shù)據(jù),傳遞的數(shù)據(jù)可以是boolean、byte、int、long、float、double、string等基本類型或它們對(duì)應(yīng)的數(shù)組,也可以是對(duì)象或?qū)ο髷?shù)組。當(dāng)Bundle傳遞的是對(duì)象或?qū)ο髷?shù)組時(shí),必須實(shí)現(xiàn)Serializable 或Parcelable接口。
Bundle操作基本數(shù)據(jù)類型的表格如下:
兩個(gè)activity之間的通訊可以通過bundle類來實(shí)現(xiàn),代碼如下:
//新建一個(gè)Bundle類
Bundle mBundle = new Bundle();
//bundle類中加入數(shù)據(jù)(key -value的形式,另一個(gè)activity里面取數(shù)據(jù)的時(shí)候,就要用到key,找出對(duì)應(yīng)的value)
mBundle.putString("Data", "data from TestBundle");
//新建一個(gè)intent對(duì)象,并將該bundle加入這個(gè)intent對(duì)象
Intent intent = new Intent();
intent.setClass(TestBundle.this, Target.class);
intent.putExtras(mBundle);
總結(jié)
以上是生活随笔為你收集整理的Android: Bundle机制的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Nginx 反向代理及 Cookie 相
- 下一篇: android sina oauth2.