我正在使用Android共享首选项来保存一些小的布尔数据。现在,如果我使用相同的关键字字符串作为字符串参数传递给 getSharedPreferences()方法来保存我的所有布尔值,那样的示例代码是否冲突?
我的意思是如果我对所有 getSharedPreferences()方法使用一个普通字符串,如果我在 putBoolean()中使用不同的字符串,它们是否正确保存?实际上是什么 getSharedPreferences()的String参数的功能?
我用它来保存值:
public void saveStatus(boolean b){
SharedPreferences preferences = getApplicationContext().getSharedPreferences("STATUS", android.content.Context.MODE_PRIVATE);
SharedPreferences.Editor editor = preferences.edit();
editor.putBoolean("s1",b);
editor.commit();
}
答案 0 :(得分:0)
为什么不通过两个参数来解决这样的问题:
public void saveStatus(String key,boolean b){
SharedPreferences preferences = getApplicationContext().getSharedPreferences("STATUS", android.content.Context.MODE_PRIVATE);
SharedPreferences.Editor editor = preferences.edit();
editor.putBoolean(key,b);
editor.commit();
}
答案 1 :(得分:0)
他们不会发生冲突
共享首选项存储为xml文件。因此,string
传递的getSharedPreferences()
参数(第一个)是将在持久存储中创建的xml文件的名称。您在putBoolean()
中使用的是属性的名称,其值指定为第二个参数,该值将添加到xml
文件中。
有关详细信息,请参阅: