曾经被问到这样一个问题:Bundle能存哪些数据类型,不能存哪些数据类型?

当时那个汗啊,因为,平常使用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

从以上发现,数据存储在连续的内存地址上的可以使用,其它存储方式不行(如链表存储就不行)。

如果有说错的地方,希望大家纠正,谢谢!

更多相关文章

  1. Android(安卓)单页面 音乐播放器和电影播放
  2. Android定制ListView的界面(使用继承自ArrayAdapter的自定义适配
  3. Android(安卓)中的ORM框架
  4. [置顶] Android(安卓)开发中Parcel存储类型和数据容器
  5. Android中获取手机支持的硬件解码器类型以及对应的解码器名称
  6. Android小案例——简单图片浏览器
  7. SQlite字段类型升级
  8. Android之设置EditText输入类型(setInputType()方法和android:in
  9. Android下创建一个sqlite数据库

随机推荐

  1. Android基础(四) 常用控件
  2. 关于Android(安卓)火车票查询App
  3. Android(安卓)html+动态添加控件,实现text
  4. Android 再按一次返回键退出 代码
  5. android多屏幕适配相关知识和官方翻译文
  6. android技术牛人博客
  7. Android Looper&Handler 源码
  8. android序列化与反序列话HashMap到sqlite
  9. android:设计一个具有3个选项的菜单程序,
  10. 【Android】Suggestion: use tools:overr