Shared Preferences en Android

LLoid

Buenas, expongo otra de mis interminables dudas:

En principio, con SharedPreferences puedo guardar el estado de la UI en una actividad determinada para retomarla después. El estado de la UI implica selecciones hechas en los checkboxes, elecciones en los radiobuttons, texto escrito en los edittext, etc., todo lo que haya tocado el usuario en la actividad en concreto.

Ahora bien, si hay varios usuarios y cada uno de ellos hace cosas distintas sobre la misma actividad (uno selecciona una opción y otro otra, uno escribe una cosa distinta, etc.), ¿es posible guardar las SharedPreferences para cada uno de ellos? Y que luego a la hora de reabrir la actividad, según el usuario que la abra, se carguen las SharedPreferences correspondientes, como si fueran "sesiones". ¿Sería posible extender esto a varias actividades?

Por ejemplo, el usuario 1 tiene "sesión" en las actividades a1, a2, y a4, mientras que el usuario 2 tiene "sesión" en las actividades a2, a3 y a4. Al abrir la actividad a2, según si la abre usuario1 o usuario2, deberían cargarse unas u otras SharedPreferences, ¿cómo es posible hacer esto?

PD: no hay usuarios en mi app, solo lo hago para que la duda sea más comprensible porque sé que es una movida xD los "usuarios" serían entradas de mi base de datos, identifícandolos por ejemplo por ID.

Tig

Entiendo que varias personas usarán el mismo dispositivo.

Mírate esto: Context

getSharedPreferences(java.lang.String, int)

Puedes guardar archivos de preferencias con el nombre que te de la gana

No entiendo muy bien lo que quieres hacer, pero por lo menos te soluciono esta duda

1 respuesta
LLoid

#2 Reformulo la pregunta:

¿Se pueden guardar varios archivos de preferencias para cada una de las actividades de mi app? ¿Y posteriormente elegir cuál de esos archivos cargar?

Si al final toda esta historia se puede hacer, postearé aquí el código para que se entienda mejor xD Gracias por contestar.

1 respuesta
Tig

#3 sí, puedes guardar tantos archivos de preferencias como quieras y luego leerlos por nombre

Usuarios habituales

  • Tig
  • LLoid