studio preferencias preferencia pantalla nombre español ejemplo editar crear configuracion cambiar archivos archivo android android-preferences

preferencias - sharedpreferences android studio ejemplo



¿Cómo puede una PreferenceActivity usar un archivo de preferencias personalizado? (3)

Mi primer intento de preferencias fue sin conocimiento de PreferenceActivity . Así que ahora tengo una aplicación que almacena todas las preferencias del usuario en un archivo de preferencias específico.

Quiero migrar para usar PreferenceActivity pero también quiero que mis usuarios mantengan sus preferencias.

¿Hay alguna manera de decirle a mi PreferenceActivity que use ese archivo específico para todas las preferencias?


Maaalte tiene razón, lo que quiere hacer es hacer una prueba de creación de la existencia de su archivo personalizado y, si está allí, cámbiele el nombre a las preferencias compartidas de archivo estándar.

Otra opción es leer las preferencias anteriores una por una y usar la API de preferencias compartidas para agregarlas a medida que las lea y luego eliminar las preferencias anteriores cuando haya terminado.


Puede leer todas las preferencias al principio de su aplicación y luego almacenarlas en las Preferences usando

Editor e = PreferenceManager.getDefaultSharedPreferences(getBaseContext()).edit(); e.putBoolean("yourPreference", true); e.putString("yourOtherPreference", "This is the Value"); ... e.commit();

Espero que eso ayude


Puede ser demasiado tarde para publicar esto, pero puede encontrar una buena solución aquí

Establece de antemano el nombre del archivo predeterminado de preferencias compartidas:

public class MyPreferencesActivity extends PreferenceActivity { protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); PreferenceManager prefMgr = getPreferenceManager(); prefMgr.setSharedPreferencesName("my_preferences"); prefMgr.setSharedPreferencesMode(MODE_WORLD_READABLE); addPreferencesFromResource(R.xml.preferences); } }

Espero que esto ayude a alguien.

Saludos.