在Android中获取应用的SharedPreferences?

时间:2016-11-09 12:41:46

标签: java android sharedpreferences

我正在尝试为我的项目创建一个库/模块,它将显示应用程序的所有SharedPreferences。

获取所有SharedPreferences的一种方法是:

Map<String,?> keys = prefs.getAll();  // app sharedPreference

for(Map.Entry<String,?> entry : keys.entrySet()){
    Log.d("map values",entry.getKey() + ": " + entry.getValue().toString()); 
}

现在我试图在不知道应用程序首选项的情况下获取应用程序的所有首选项。

Map<String,?> keys = prefs.getAll(); // app sharedPreference (without knowing prefs)

这可能吗?

1 个答案:

答案 0 :(得分:0)

嗯,它应该有效,如果有的话......只是测试了以下内容,并没有得到任何回报。

SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(getApplicationContext());
Map<String,?> keys = prefs.getAll();  // app sharedPreference

Log.d("- Starting -", "Printing");
for(Map.Entry<String,?> entry : keys.entrySet()){
    Log.d("map values",entry.getKey() + ": " + entry.getValue().toString());
}
Log.d("--- End ---", "Printing");

我用它来存储sharedPreffs就像下面这样。如果有些人使用它,那么即使不是不可能从中获取数据也会非常困难。

context.getSharedPreferences(SETTINGS_FILE, Context.MODE_PRIVATE);

有关sharedPreferences的更多信息和使用,请查看here.