2011-08-18 12 views
12

Quiero almacenar una pequeña cantidad de datos de manera que persista entre las instalaciones de la aplicación. Obviamente no puedo usar SharedPreferences, ya que se eliminan en la desinstalación. ¿Hay alguna forma de almacenar datos para que sobrevivan a la reinstalación de la aplicación?¿Puedo almacenar datos en un dispositivo Android para que persistan entre las instalaciones?

Los datos que deseo almacenar son únicos, para permitir el bloqueo de los usuarios de la aplicación si se portan mal. Si no puedo almacenar una identificación, ¿puedo acceder a las direcciones de correo electrónico de las cuentas de Google para usarlas como indicador?

Esta entrada de blog deja claro que ninguno de los ID del sistema operativo produce son buenos, especialmente cuando se considera tabletas Android: Identifying app installations

Respuesta

9

Puede almacenar los datos en las preferencias compartidas y usar un backup manager para hacer una copia de seguridad automática. Deben restaurarse una vez que la aplicación se reinstale.

No existe una manera real de bloquear la aplicación para ciertas personas. Puede evitar que todos sus usuarios creen una cuenta para usar la aplicación y bloquear las cuentas, pero siempre pueden volver a crear una cuenta. Puede almacenar algo en la tarjeta SD y verificarlo, pero los usuarios malintencionados pueden encontrarlo y eliminarlo. Podría intentar que el usuario se autentique con su cuenta de Google en contra de su aplicación (andlytics está usando un método de autenticación como ese) pero el usuario puede restablecer su teléfono de fábrica y crear una nueva cuenta de Google.

Tienes que elegir qué tan importante es el bloqueo de los usuarios y cuánto quieres molestar a tus otros usuarios debido a que algunos usuarios no están usando tu aplicación según lo previsto.

+0

Perfecto, gracias Janusz –

+0

Tenga en cuenta un problema potencial con el uso de 'BackupManager': desde su enlace:' No se garantiza que la copia de seguridad de datos esté disponible en todos los dispositivos con Android. – RivieraKid

0

Si se elimina la aplicación, se eliminan los datos. Podrías poner algo en la tarjeta SD, pero no hay razón para creer que permanecería allí. Es posible que pueda trabajar algo a través del mecanismo de licencia de la aplicación. Detalles here

+0

Sí, esto no va a cortar, ya que algunos dispositivos no tienen una tarjeta SD. Debe ser una solución independiente del dispositivo. –

1

sí. puede almacenar algunos datos en la memoria interna o en la tarjeta SD. Esto se puede hacer creando una carpeta (.somename) que sea invisible para el usuario y cree un archivo.txt para almacenar los datos.

Cuestiones relacionadas