从 SharedPreferences 中删除对象
Removing object from SharedPreferences
我正在尝试从 sharedPreferences 中删除特定对象,我已经尝试了几次,但我不知道如何正确地进行。
这是我用来从 SharedPreferences 中保存和排除学科的两种方法:
public void saveDisciplineData(Discipline discipline){
editor.putString("Discipline" + count, gson.toJson(discipline));
editor.commit();
count++;
}
public void excludeDisciplineData(Discipline discipline){
for (int i = 0; i < count ; i++) {
Discipline d = gson.fromJson(sp.getString("discipline" + i, ""), new TypeToken<Discipline>() {
}.getType());
if (d.equals(discipline)){
editor.remove("discipline" + i);
break;
}
}
editor.commit();
count--;
}
如何删除特定的纪律对象?
您在保存值时使用大写 D 的纪律,在尝试删除时使用小写的纪律。
如果您创建一个常量 DISCIPLINE = "discipline" 来避免此类问题,那就太好了。
我正在尝试从 sharedPreferences 中删除特定对象,我已经尝试了几次,但我不知道如何正确地进行。
这是我用来从 SharedPreferences 中保存和排除学科的两种方法:
public void saveDisciplineData(Discipline discipline){
editor.putString("Discipline" + count, gson.toJson(discipline));
editor.commit();
count++;
}
public void excludeDisciplineData(Discipline discipline){
for (int i = 0; i < count ; i++) {
Discipline d = gson.fromJson(sp.getString("discipline" + i, ""), new TypeToken<Discipline>() {
}.getType());
if (d.equals(discipline)){
editor.remove("discipline" + i);
break;
}
}
editor.commit();
count--;
}
如何删除特定的纪律对象?
您在保存值时使用大写 D 的纪律,在尝试删除时使用小写的纪律。 如果您创建一个常量 DISCIPLINE = "discipline" 来避免此类问题,那就太好了。