studio programacion para móviles libro edición desarrollo desarrollar curso aprende aplicaciones android sharedpreferences

para - manual de programacion android pdf



Cómo verificar si SharedPreferences existe o no (3)

Estoy comprobando de esta manera si el archivo existe, pero necesito ir más allá, necesito saber si hay uno en específico, ¿hay alguna manera?

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


Bueno, uno podría hacer:

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(); }


Otra solución:

Si conoce el número exacto de preferencias que tiene, puede:

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

Esto funciona porque el archivo de preferencias almacenado en /data/data/myApp/shared_prefs/myApp_prefrences.xml contiene un par de valores de preferencia solo si se ha establecido su valor.