我真的很困惑如何将自定义对象的ArrayList保存到SharedPreference中。我查找了一个非常受欢迎的线程,但由于某些变量没有给出上下文,因此不理解解决方案。我的arraylist有一些像Strings,UUID和Dates这样的东西,我不介意去API 11以避免使用gson或json。如果有人如此善意在this解释解决方案或提供他们自己的解决方案,我将非常感激。我是新手,已经做了几个月,并希望确保我理解一切,但我的英语不太好。先感谢您!
答案 0 :(得分:0)
序列化该arraylist并将其存储在sharedPreference中。
Profile profile = myProfile;
String serializedData = profile .serialize();
SharedPreferences.Editor editor = prefs.edit();
editor.putString("Profile", serializedData);
editor.apply();
反序列化
String profileSerialized = prefs.getString("Profile", "");
profile = Profile.create(profileSerialized);
答案 1 :(得分:0)
我会考虑将数据存储到SQLiteDatabase。 SharedPreferences并不是为了保存自定义对象。如果你真的想使用SharedPreferences,那么Gson将是最好的解决方案。 API 11增加了保存字符串列表的能力,而不是对象。