我是Android开发的新手,如果我能在这里得到一些帮助,我会很高兴。 我现在遇到的问题是关于android中的SharedPreference。我想做的是
目前,我尝试保存字符串数据并附加到单个共享首选项,如下面的示例
public String[] getStringList(Activity activity){
String favoriteList = getStringFromPreferences(activity,null,"favorites");
return convertStringToArray(favoriteList);
}
public boolean putStringInPreferences(Activity activity,String nick,String key){
SharedPreferences sharedPreferences = activity.getPreferences(Activity.MODE_PRIVATE);
SharedPreferences.Editor editor = sharedPreferences.edit();
editor.putString(key, nick);
editor.commit();
return true;
}
public String getStringFromPreferences(Activity activity,String defaultValue,String key){
SharedPreferences sharedPreferences = activity.getPreferences(Activity.MODE_PRIVATE);
String temp = sharedPreferences.getString(key, defaultValue);
return temp;
}
@SuppressLint("CommitPrefEdits")
public void remover(Activity activity){
SharedPreferences sharedPreferences = activity.getPreferences(Activity.MODE_PRIVATE);
SharedPreferences.Editor editor = sharedPreferences.edit();
editor.remove();
//editor.clear();
editor.commit();
mainSwitch = false;
}
//method to convert string into array
private String[] convertStringToArray(String str){
String[] arr = str.split(",");
return arr;
}
我只想删除部分字符串数据,但是,示例中的方法remover()将删除Sharedpreference中的所有数据,所以我想知道如何才能删除所选数据的一部分?或者有更好的方法使用数组保存和操作数据吗?
答案 0 :(得分:0)
根据此代码,您将从sharedPreferences中删除所有字段 在卸妆中你需要获取字符串并用适当的值替换它。
SharedPreferences sharedPreferences = activity.getPreferences(Activity.MODE_PRIVATE);
String str = sharedPreferences.getString("myString");
str = str.replace("string to remove", "");
SharedPreferences.Editor editor = sharedPreferences.edit();
editor.putString("myString", str);
editor.commit();