Iam试图做一个检查器,我想将一个值保存到SharedPreferences中。但是我'不知道,如果它的工作原理SharedPreferences清除/保存
这是我做的,以保存该值是:*
SharedPreferences prefs = getSharedPreferences("PREFERENCE", MODE_PRIVATE);
boolean firstrun = prefs.getBoolean("firstrun", true);
db = openOrCreateDatabase("value.db", Context.MODE_PRIVATE, null); // optional CursorFactory
if (firstrun) {
SharedPreferences.Editor editor = prefs.edit();
db.execSQL("CREATE TABLE startValue (ID Integer Primary Key, myValue Integer)");
db.execSQL("INSERT INTO startValue (myValue) VALUES (2)");
editor.putBoolean("firstrun", false);
editor.apply();
}
// Save the state
getSharedPreferences("PREFERENCE", MODE_PRIVATE)
.edit()
.putBoolean("firstrun", false)
.commit();
并清除从另一个活动preferenece是:
try{
db = openOrCreateDatabase("value.db", Context.MODE_PRIVATE, null); // optional CursorFactory
db.execSQL("DROP TABLE IF EXISTS startValue");
db.close();
SharedPreferences preferences = getPreferences(0);
SharedPreferences.Editor editor = preferences.edit();
editor.remove("firstrun");
editor.clear();
editor.commit();
this.finish();
}
catch(SQLException ex)
{
//catch error here
}
问题
但是当我叫测试,因为我看到它没有清除偏好。我做错了什么?
SharedPreferences喜好= getSharedPreferences( “偏爱”,0);我是否应该将“偏好”改为“头箍”或? – Tirolel 2013-03-18 11:23:32
该代码将清除所有SharedPreferences。 – AwadKab 2013-03-18 11:26:57
感谢这很有帮助,但是如何清除sharedPreferences的一部分? – alicanbatur 2014-03-28 07:54:15