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不存储任何内容。您可能需要仔细阅读文档