Android,如果没有pref,则不设置SharedReferences默认值
Android,如果没有pref,则不设置SharedReferences默认值,android,sharedpreferences,Android,Sharedpreferences,String getString(字符串名称,字符串定义值){…} 这是getString(…)方法SharedReferences的定义,因此我认为如果我运行下面的代码,它可能会返回1两次: SharedPreferences pref = PreferenceManager.getDefaultSharedPreferences(context); Timber.e(pref.getString("new", "1")); Timber.e(pref.getString("new", "10
String getString(字符串名称,字符串定义值){…}
这是getString(…)
方法SharedReferences
的定义,因此我认为如果我运行下面的代码,它可能会返回1两次:
SharedPreferences pref = PreferenceManager.getDefaultSharedPreferences(context);
Timber.e(pref.getString("new", "1"));
Timber.e(pref.getString("new", "100"));
因为第一次它是空的,所以“1”会存储,之后因为它有值(“1”),它会返回它的值(“1”)而不是默认值(“100”)
但是它返回“1”和“100”,并且“new”
不存储在我的pref文件中(位于数据/data/…
)
我是否理解错了,或者代码中出现了问题?Use只能使用getString获取数据 要存储数据,请使用
Editor.commit()代码>
只有在这之后你才能得到这个值
String value = settings.getString("someKey", "someDefaultValueIfThisKeyNotUsedBefore");
在本例中,如果事先使用了commit
,您将收到“someVal”
。Use只能使用getString获取数据
要存储数据,请使用Editor.commit()代码>
只有在这之后你才能得到这个值
String value = settings.getString("someKey", "someDefaultValueIfThisKeyNotUsedBefore");
在本例中,如果事先使用了commit
,您将收到“someVal”
。您必须将“Something”放入SharedReferences.Editor,然后提交它们
pref.getString不会存储任何内容
请参阅以下链接:
您必须将“某物”放入SharedReferences.Editor,并提交它们
pref.getString不会存储任何内容
请参阅以下链接:
getString不存储任何内容。您可能需要仔细阅读文档GetString不存储任何内容。您可能需要仔细阅读文档