Android Bundle儲存資料型別

2021-06-18 22:56:13 字數 2118 閱讀 7597

曾經被問到這樣乙個問題:bundle能存哪些資料型別,不能存哪些資料型別?

當時那個汗啊,因為,平常使用bundle,要麼使用基本資料型別,要麼序列化自定義的class,那到底能存哪些型別,不能存哪些呢?

今天查閱了下google官方的文件(

),羅列了以下這些是可以的:

void  putall(bundle map) 

void putbinder(string key, ibinder value)

void putboolean(string key, boolean value)

void putbooleanarray(string key, boolean value)

void putbundle(string key, bundle value)

void putbyte(string key, byte value)

void putbytearray(string key, byte value)

void putchar(string key, char value)

void putchararray(string key, char value)

void putcharsequence(string key, charsequence value)

void putcharsequencearray(string key, charsequence value)

void putcharsequencearraylist(string key, arraylistvalue)

void putdouble(string key, double value)

void putdoublearray(string key, double value)

void putfloat(string key, float value)

void putfloatarray(string key, float value)

void putint(string key, int value)

void putintarray(string key, int value)

void putintegerarraylist(string key, arraylistvalue)

void putlong(string key, long value)

void putlongarray(string key, long value)

void putparcelable(string key, parcelable value)

void putparcelablearray(string key, parcelable value)

void putparcelablearraylist(string key, arraylist<? extends parcelable> value)

void putserializable(string key, serializable value)

void putshort(string key, short value)

void putshortarray(string key, short value)

void putsparseparcelablearray(string key, sparsearray<? extends parcelable> value)

void putstring(string key, string value)

void putstringarray(string key, string value)

void putstringarraylist(string key, arraylistvalue)

一目了然:map,基本資料型別,基本資料型別陣列,parcelable型別及parcelable型別陣列,serializable型別(無serializable型別陣列!),arraylist

從以上發現,資料儲存在連續的記憶體位址上的可以使用,其它儲存方式不行(如鍊表儲存就不行)。

如果有說錯的地方,希望大家糾正,謝謝!

android bundle 物件 序列化

android使用intent.putserializable 進行資料傳遞,或者使用bundle進行資料傳遞,實質上都是進行的serializable資料的操作,說白了都是傳遞的原資料的乙份拷貝,因此通過物件的傳遞來控制android應用是不現實的 源 如下了 1 import 2import a...

塊儲存 檔案儲存 物件儲存

塊儲存主要是對磁碟陣列 內含多塊硬碟 做raid操作或者lvm操作,邏輯劃分出n塊logic盤並對映給主機使用,作業系統會識別到n塊硬碟,但是無法感知到底是邏輯盤還是物理盤,所以還是會對其進行分割槽和格式化 無法共享資料 每塊邏輯盤實際上是由多塊硬碟共同組成,在讀寫資料的時候,幾塊物理硬碟可以並行定...

軟體儲存分類 塊儲存 檔案儲存 物件儲存

將裸磁碟空間整個對映給主機使用的,就是說例如磁碟陣列裡面有5塊硬碟,然後通過劃邏輯盤 做raid 或者lvm 邏輯卷 等種種方式邏輯劃分出n個邏輯的硬碟。很多時候塊儲存採用san架構組網,傳輸速率以及封裝協議的原因,使得傳輸速度與讀寫速率得到提公升。參考 塊儲存 檔案儲存 物件儲存這三者的本質差別是...