Android Bundle存储数据类型
2013-10-31 21:00
477 查看
曾经被问到这样一个问题:Bundle能存哪些数据类型,不能存哪些数据类型?
当时那个汗啊,因为,平常使用Bundle,要么使用基本数据类型,要么序列化自定义的Class,那到底能存哪些类型,不能存哪些呢?
今天查阅了下google官方的文档(http://developer.android.com/reference/android/os/Bundle.html),罗列了以下这些是可以的:
一目了然:MAP,基本数据类型,基本数据类型数组,Parcelable类型及Parcelable类型数组,Serializable类型(无Serializable类型数组!),ArrayList
从以上发现,数据存储在连续的内存地址上的可以使用,其它存储方式不行(如链表存储就不行)。
如果有说错的地方,希望大家纠正,谢谢!
当时那个汗啊,因为,平常使用Bundle,要么使用基本数据类型,要么序列化自定义的Class,那到底能存哪些类型,不能存哪些呢?
今天查阅了下google官方的文档(http://developer.android.com/reference/android/os/Bundle.html),罗列了以下这些是可以的:
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, ArrayList<CharSequence> value) 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, ArrayList<Integer> value) 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, ArrayList<String> value)
一目了然:MAP,基本数据类型,基本数据类型数组,Parcelable类型及Parcelable类型数组,Serializable类型(无Serializable类型数组!),ArrayList
从以上发现,数据存储在连续的内存地址上的可以使用,其它存储方式不行(如链表存储就不行)。
如果有说错的地方,希望大家纠正,谢谢!
相关文章推荐
- Android Bundle存储数据类型
- Android SharedPreferences存储基本数据类型、List集合、Map集合、对象都在这了
- android 遍历存储多个数据的Bundle
- android工程中将输出的数据(byte类型)存储到txt中
- android jni jobjectArray存储输出不同类型的数据
- Android 开发中Parcel存储类型和数据容器
- Android 开发中Parcel存储类型和数据容器
- android 子线程通过bundle、handler.sendMessage(message)向主线程传输多个类型数据,包括list<Map<String,Object>>
- Android两种存储用户临时数据的方式比较:Preferences & Bundle
- android的四大组件、五大存储、六大布局、七大生命周期、八大基本数据类型
- Android 开发中Parcel存储类型和数据容器
- Android应用开发之使用SharedPreferences存储复杂类型的数据
- Android之使用Bundle传递数据类型
- Bundle可以存储的数据类型
- Android 在Activity中通过Bundle传递自定义数据类型
- Android 开发中Parcel存储类型和数据容器
- 【Android SharedPreference】 使用SharedPreferences存储复杂类型的数据
- Android JNI 学习(三):JNI 数据类型和数据结构
- 【Android游戏开发十二】(保存游戏数据 [上文])详解SharedPreference 与 FIleInputStream/FileOutputStream将数据存储到SD卡中!
- android数据存储的五种方式