是否可以将整个数组(甚至是ArrayList)保存到Android应用程序数据中?
据我所知,您只能执行putInt、putBoolean或putString之类的操作...... 但是,对于更复杂的数据类型呢? 有没有一种方法可以做到这一点?
还是我必须先将整个数组转换为字符串,然后在加载时解析为数组?
是否可以将整个数组(甚至是ArrayList)保存到Android应用程序数据中?
据我所知,您只能执行putInt、putBoolean或putString之类的操作...... 但是,对于更复杂的数据类型呢? 有没有一种方法可以做到这一点?
还是我必须先将整个数组转换为字符串,然后在加载时解析为数组?
对于复杂的数据类型,请使用
Bundle bundle = new Bundle();
bundle.putSerializable("key", object);
intent.putExtra("bundle", bundle);
编辑:或者对于数组使用
putStringArray(key,value);
我认为你可能不知道还有像putFloatArray(key,Value),putStringArray(key,value)这样的函数,你可以使用它们。
如果你所说的“应用程序数据”是指SharedPreferences,那么不,你只能保存简单类型。
但是,你可以通过Activities的onSaveInstanceState
/ onRestoreInstanceState
来保存应用程序状态,如此处所述:使用Save Instance State保存Android Activity状态
请注意,这将每个Activity的状态保存下来,因此最好有一个主Activity来保存应用程序状态。
你需要实现Parcelable。你应该看一下这个教程在活动之间传递ArrayList