嗨我正在越來越難搞清楚如何做到這一點: 我有一個ArrayList,它的類型是Person,它包括一些字段(firstName,lastName兩個字符串,birthdate日曆)現在我需要將其轉換爲HashSet並將其保存(然後檢索它)到共享首選項,但我不明白如何。 這是我做了什麼:ArrayList to Hashset to SharedPref
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'是否擁有單個'Person'對象的值? –
儘管這不是解決您的問題的方法,但我會建議使用SQLite,而不是通過SharedPreferences將其寫入磁盤。 – Leandros
我知道SQLite將是一個更好的選擇,但我還沒有達到那裏 – user3355760