Android:将数组保存到应用数据

时间:2011-08-29 14:07:36

标签: android

是否可以将整个数组(甚至是ArrayList)保存到android应用程序数据中?

据我所知,你只能做像putInt,putBoolean或putString这样的东西.... 但是更复杂的数据类型呢? 有没有办法做到这一点?

或者我是否必须先将整个数组转换为String,然后在加载时再将其解析为数组?

5 个答案:

答案 0 :(得分:2)

用于复杂数据类型

            Bundle bundle = new Bundle();
            bundle.putSerializable("key", object);
            intent.putExtra("bundle", bundle);

编辑:或使用数组

   putStringArray(key,value);

答案 1 :(得分:1)

我想你不知道还有像 putFloatArray(key,Value),putStringArray(key,value)这样的函数。你可以使用它们。

答案 2 :(得分:1)

如果“app data”是指SharedPreferences,那么不,您只能save simple types

但是,您可以通过活动“onSaveInstanceState / onRestoreInstanceState保存应用程序状态,如下所述:Saving Android Activity state using Save Instance State

请注意,这会保存每个Activity的状态,因此最好有一个主要活动来保存应用状态。

答案 3 :(得分:0)

您可以serialize几乎任何形式的数据并将其另存为字节流byte[]

序列化后,存储:

putByteArray("key", serializedData);

答案 4 :(得分:0)

您需要实现Parcelable。您应该查看本教程Passing ArrayList across activities