He probado la creación, inserción y recuperación de datos en mis aplicaciones db, y sé que funciona mediante el uso de declaraciones de registro.
Sin embargo, deseo agilizar las pruebas y usar el Android Device Monitor. Sin embargo, aunque el archivo db existe y los datos están almacenados, al acceder a continuación, la carpeta de data
está vacía:
Por qué sería este el caso? ¿Cómo se puede configurar para mostrar el archivo db y los contenidos?
La carpeta /data
pueden estar vacíos porque te faltan los permisos adecuados. Para resolverlo, tuve que ejecutar los siguientes comandos.
adb shell su
Esos comandos inician un shell en el emulador y le otorgan derechos de root. El comando adb
se encuentra en la carpeta platform-tools
del SDK de Android, normalmente instalado en ~/Library/Android/sdk/
en MacOS.
chmod -R 777 /data
Modifique los permisos de la carpeta (y subcarpetas recursivamente) /data
para que aparezcan en la herramienta A ndroid Device Monitor .
adb root
Finalmente, este comando reinicia adb
como root. Tenga cuidado, solo funciona en construcciones de desarrollo (típicamente construcciones de emuladores).
Después, puede ver el contenido de la carpeta /data
y transferir los datos ubicados en. También puede hacerlo en la consola, usando adb pull
, como por ejemplo:
adb pull /data/data//databases/ .
Además de las respuestas de @Steven K: si desea obtener acceso a sus datos sin tener que rootear su dispositivo real, necesita ejecutar su aplicación en un emulador con API 23 (o inferior). Es un problema conocido que las API superiores a 23 pueden causar problemas al implementar Android Device Monitor.
No está vacío … simplemente no tienes permiso para ver esa carpeta en un dispositivo.
Pruébalo en un simulador y te funcionará, ya que tienes acceso de root.
Si alguien está teniendo el problema indicado, siga los pasos a continuación en la ventana del terminal:
Eso es. Problema resuelto.
Puede ser más fácil almacenar la base de datos en una carpeta pública durante el desarrollo.
O puedes ver esta publicación:
¿Cómo acceder a la carpeta de datos / datos en un dispositivo Android?
Hay dos formas de navegar por la carpeta de datos del dispositivo (datos / datos).
Ubicación de ADM – (YOUR_SDK_PATH \ Android \ sdk \ tools)
adb root
Si solo quieres ver tus Tablas y DB, entonces la mejor manera es usar Stetho
. Se desarrolló una herramienta genial para todos los desarrolladores de Android que utilizan SQLite
buit de Facobook developed
.
Steps to use the tool
‘comstackr’ com.facebook.stetho: stetho: 1.4.2 ‘
@Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); Stetho.initializeWithDefaults(this); setContentView(R.layout.activity_main); }
Ahora, crea tu aplicación. Cuando la aplicación se está ejecutando, puedes navegar por la base de datos de tu aplicación abriendo Chrome en la url:
chrome://inspect/#devices
Las capturas de pantalla de los mismos son las siguientes_
ChromeInspact
Tu DB
Espero que esto ayude a todos! 🙂
Tuve el mismo problema con API_25
, no funcionó para mí.
Configure un API_23 emulator
, funcionará en API_23
.
En cmd GoTo:
C:\Users\UserName\android-sdks\platform-tools
Ejecutar:
adb root
Hecho