Persistencia de datos de Android después de la desinstalación

Tengo que persistir 2 cadenas para mi aplicación incluso después de la aplicación se desinstala. En cuanto a que los usuarios finales no tienen tarjetas SD para sus dispositivos y no tienen conexión a Internet, ¿cómo podría persistir esas 2 cadenas incluso después de la aplicación se desinstala?

Apreciaría altamente cualquier respuesta. Gracias

A menos que esté apuntando a teléfonos MUY antiguos, no necesita preocuparse por no tener almacenamiento externo. Mientras utilice Environment.getExternalStorageDirectory() como referencia, no debería tener un problema, aunque si está absolutamente preocupado por esto, puede comprobar si el almacenamiento externo no existe y, a continuación, optar por ir al almacenamiento interno . Echa un vistazo a este enlace desde los documentos del desarrollador para obtener un poco más de información .

Si Externo verdaderamente no está disponible, entonces podría guardar en la memoria interna, pero tendrá que declarar un nuevo permiso para eso, lo que puede alejar a algunas personas.

Tienes que escribirlo en una tarjeta SD / almacenamiento interno, y espero que el usuario no lo elimine. Sin embargo, este es un enfoque muy frágil. No hay otra solución, por lo que sé.

El almacenamiento interno de los teléfonos también se trata como una "tarjeta SD". Si crea una carpeta y la guarda en un archivo de texto, debería estar seguro dado que el usuario no elimina manualmente las carpetas después de la desinstalación.

Consulte la sección "Guardar archivos que deben compartirse" en la siguiente página web. Hacer un archivo que persiste después de la desinstalación implica ponerlo a disposición de otras aplicaciones / usuarios para leer y modificar. Si esas opciones de archivo no están pensadas, debería considerar un diseño de aplicación alternativo.

http://developer.android.com/guide/topics/data/data-storage.html#filesInternal

Después de volver a instalar, su aplicación puede acceder al directorio público creado mediante la siguiente función:

 public static File getExternalStorageDirectory () 

Con respecto a la función anterior, por Google:

Nota: no se confunda con la palabra "externo" aquí. Este directorio puede mejor ser pensado como medios / almacenamiento compartido. Es un sistema de archivos que puede contener una cantidad relativamente grande de datos y que se comparte entre todas las aplicaciones (no hace cumplir los permisos). Tradicionalmente se trata de una tarjeta SD, pero también se puede implementar como almacenamiento integrado en un dispositivo que es distinto del almacenamiento interno protegido y se puede montar como un sistema de archivos en un equipo.

Además, Google recomienda colocar archivos compartidos en un directorio público existente para no contaminar el espacio de nombres raíz del usuario.

¿Las cadenas son únicas para cada usuario o son específicas de la aplicación? En cualquier caso, lo correcto sería salvarlo en algún tipo de servidor remoto. Firebase es lo que utilizo para algo como esto. Compruebe su existencia en su clase de Application y descargue y guárdelo en SQLite si no existe. Sin embargo, para los datos específicos del usuario, usted va a necesitar algún tipo de autenticación para que sepa qué usuario está recibiendo lo que.Firebase hace esto perfectamente bien también.

Pasando por los requisitos (no Internet, no tarjeta SD) del OP sin embargo, no veo ninguna otra forma además de que no es antiético.

  • Android fragment onRestoreInstanceState
  • Actualización de la interfaz de usuario de Android - guardar y restaurar
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.