是否可以将整个数组(甚至是ArrayList)保存到android应用程序数据中?
据我所知,你只能做像putInt,putBoolean或putString这样的东西.... 但是更复杂的数据类型呢? 有没有办法做到这一点?
或者我是否必须先将整个数组转换为String,然后在加载时再将其解析为数组?
答案 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)
答案 4 :(得分:0)
您需要实现Parcelable。您应该查看本教程Passing ArrayList across activities