Ver Mensaje Individual
  #3  
Viejo 28/09/17, 03:16:34
Array

[xs_avatar]
Cixert Cixert no está en línea
Miembro del foro
 
Fecha de registro: abr 2016
Localización: Asturias
Mensajes: 192
Modelo de smartphone: Últimos modelos gama alta de 32 bits
Tu operador: Orange
 Cita: Originalmente Escrito por mocelet Ver Mensaje
Lo normal es que las preferencias estén en algún XML dentro del directorio de la app o, si no, en alguna base de datos sqlite (que también son ficheros, típicamente con extensión .db) o si no en ficheros menos "estándar", pero siempre en su directorio.

Otra opción para lo que comentas de mapas es que simplemente compruebe qué ficheros hay, si el fichero existe es que se lo ha descargado o está disponible.
¿A que ruta te refires con "dentro del directorio de la app"?
Estoy realizando varias pruebas para tratar de averiguarlo y no lo consigo.
No acabo de encontrar la lógica.

Prueba fallida 1: Borrar el directorio original y pegar una copia provoca que la app ya no arranque.
-Instalo una app traductora de idiomas.
-La arranco y la cierro.
-Realizo una copia del directorio /data/data/nombredelaapp
-No entiendo que con tan solo borrar este directorio, y sin hacer nada más, al pegar en el mismo sitio la copia realizada la app ya no arranque.

Prueba fallida2: Pegar una copia encima del directorio original provoca que la app ya no grabe los ajustes.
-Instalo un app traductora de idiomas.
-Descargo varios paquetes de idiomas sin conexión.
-Realizo una copia del directorio /data/data/nombredelaapp
-Pego esta misma copia encima del directorio original /data/data/nombredelaapp
-La app arranca pero al modificar los ajustes estos no quedan guardados para el próximo arranque de la app.

EDITO:
Efectivamente se encuentran en el directorio /data/data/nombredelaapp/shared_prefs
Por ejemplo el archivo
nombredelaapp_preferences.xml guarda los ajustes de la aplicación.
Y por ejemplo el archivo
packages.xml guarda los ajustes de los paquetes descargados.
Si desinstalo la app, la vuelvo a instalar y pego una copia de estos 2 archivos aparecen correctamente los ajustes de las copias realizadas.
Lo que no entiendo es porque si pego la carpeta completa en data/data se producen los problemas descritos.

EDITO2:
Realizando más pruebas:
En Android 4.1
1-Si en cualquier momento se borra el directorio principal /data/data/nombredelaapp y luego se pega una copia del mismo la app no arranca. No sucede si borro todas las carpetas que contiene y luego las vuelvo a pegar.
2-Para que la app obtenga los ajustes de la copia realizada y conserve los realizados posteriormente debe de "iniciarse al menos una vez" tras ser instalada. Posteriormente debe de cerrarse o terminar su proceso con un killer y pegar encima la carpeta /data/data/nombredelaapp/shared_prefs
En Android 4.2:
-Sustituya como sustituya los archivos xml de /data/data/nombredelaapp/shared_prefs la app no coge las nuevas preferencias. El fichero xml de ajustes de la aplicación solo existe la posibilidad de sustituirlo editándo su texto manualmente y el fichero xml de los idiomas descargados no lo consigo sustituir de ninguna manera :-(

Última edición por Cixert Día 29/09/17 a las 22:13:26.
Responder Con Cita