我已经解释了关于SharedPreferences
的以下内容,并对他们的能力有一点怀疑。这是我发现的:
Android
SharedPreferences
用于全球化 变量,以便在整个应用程序中我们可以使用SharedPreferences
存储和检索数据,而不是在一个类中定义静态变量 并让该类用于检索整个应用程序中的变量。
有人可以解释这是否正确。如果我遗漏了重大差异,请告诉我。感谢。
答案 0 :(得分:3)
保存共享首选项时,android系统只会在您的app目录中创建一个包含这些值的新xml文件。因此,如果您的应用被杀死,那么这些变量将被保存。并且变量总是可以从任何活动中读取,因为它们存储在文件中。
当存储共享首选项时,你使用一个键(最终的静态字符串)来访问它们,也许这个键是他们在谈论静态时的意思
小例子:
静态:
public static final String PREFS_NAME = "settings"
public static final String SILENT_MODE = "silentMode";
在您的应用的任何活动中:
SharedPreferences settings = getSharedPreferences(PREFS_NAME, 0);
boolean silent = settings.getBoolean(SILENT_MODE, false);
编辑自:http://developer.android.com/guide/topics/data/data-storage.html#pref
答案 1 :(得分:2)
您使用SharedPreferences 保存并检索任何原始数据。与静态变量方法不同,即使您的应用程序被终止,此数据也会在用户会话中持续存在。