【发布时间】:2014-02-26 12:28:58
【问题描述】:
您好,我很难弄清楚如何执行此操作: 我有一个 ArrayList,它的类型是 Person,其中包括一些字段(firstName、lastName 两个字符串、生日日历)现在我需要将它转换为 HashSet 并将其保存(然后检索它)到共享首选项,但我不了解如何。 这就是我所做的:
ArrayList <Person> arrayPerson = new ArrayList<Person>();
Set <String> mySet = new HashSet<String>();
SharedPreferences sharedpref;
final static String SHARED_PREF_FILE = "listOfPersons";
sharedpref = getSharedPreferences(SHARED_PREF_FILE, Context.MODE_PRIVATE);
onCreate() {
SaveData();
// This is supposed to be shown on a TextView
getData(myStringSet);
}
void SaveData() {
Editor editor = sharedpref.edit();
editor.putStringSet("myStringSet", mySet);
editor.commit();
}
Set<String> getData(String key) {
return sharedpref.getStringSet(key, mySet);
}
【问题讨论】:
-
您的
Set<String>是否持有来自单个Person对象的值? -
虽然这不能解决您的问题,但我建议使用 SQLite,而不是通过 SharedPreferences 将其写入磁盘。
-
我知道 SQLite 会是更好的选择,但我还没到那里
标签: java android hash arraylist sharedpreferences