如何检查SharedPreferences是否存在

我正在用这种方式检查文件是否存在,但是我需要超越,我需要知道是否有特定的文件,有什么办法吗?

File f = new File("/data/data/com.eventrid.scanner/shared_prefs/Eventrid.xml"); if (f.exists()){ } else{ } 

Solutions Collecting From Web of "如何检查SharedPreferences是否存在"

SharedPreferences有一个contains(String key)方法,可以用来检查给定的键是否存在。

http://developer.android.com/reference/android/content/SharedPreferences.html

那么,可以这样做:

  SharedPreferences sharedPrefs = getSharedPreferences("sp_name", MODE_PRIVATE); SharedPreferences.Editor ed; if(!sharedPrefs.contains("initialized")){ ed = sharedPrefs.edit(); //Indicate that the default shared prefs have been set ed.putBoolean("initialized", true); //Set some default shared pref ed.putString("myDefString", "wowsaBowsa"); ed.commit(); } 

另一个scheme

如果您知道确切的偏好数量,您可以:

 public void isPreferencesSet(Context context){ SharedPreferences sharedPreferences = PreferenceManager.getDefaultSharedPreferences(context); return (sharedPreferences.getAll().size() == exactNumberOfPreferences); } 

这是有效的,因为存储在/data/data/myApp/shared_prefs/myApp_prefrences.xml中的首选项文件仅在其值已被设置时才包含首选项的值对。