Programación y Desarrollo para Android Subforo exclusivo para temas de programación de software para PDAs y desarrollo de aplicaciones, interfaces, etc bajo Android


 
Herramientas
  #1  
Viejo 16/07/15, 19:42:40
Avatar de androizado
androizado androizado no está en línea
Miembro del foro
Mensajes: 191
 
Fecha de registro: dic 2012
Mensajes: 191
Modelo de smartphone: Nexus 5
Versión de ROM: 5.0.1 Lollipop
Tu operador: Vodafone
Mencionado: 0 comentarios
Tagged: 0 hilos
App con SQLite

Buenas estoy desarrollando una app que lleva una base de datos interna. Tengo toda la parte del código(SQLite), pero me ha surgido la siguiente duda.

Cuando estoy emulando la app en mi móvil físico (real), me gustaría tener, por ejemplo, un cliente de sqlite a dicha base de datos interna del móvil, para ir comprobando realmente si se hacen los insert, es decir, como si tuviera una web y mi workbench o phpmyadmin abierto, y que pueda comprobar de modo gráfico ese registro insertado.

A lo mejor estoy diciendo una locura, porque pienso que claro al ser una base de datos en local del móvil, no tengo modo alguno de conectar con ella, pero me surgio la duda de saber si, igual que se conecta por adb el móvil para poder depurar en el y ver todo los logs, podría haber alguna manera de conectar con esa base de datos.

Un saludo y gracias de antemano.

Última edición por androizado Día 30/07/15 a las 17:29:33
Responder Con Cita


  #2  
Viejo 16/07/15, 20:42:20
Avatar de kriogeN
kriogeN kriogeN no está en línea
Colaborador/a
Mensajes: 4,637
Compra y venta: (1)
 
Fecha de registro: oct 2010
Localización: Murcia
Mensajes: 4,637
Modelo de smartphone: Samsung Galaxy S7 Edge SM-G935F
Versión de ROM: CM13 - CM 11
Tu operador: Vodafone
Mencionado: 60 comentarios
Tagged: 3 hilos
Se puede, tienes que ser Root e instalar el comando sqlite3 en tu móvil. Antiguamente venía incluido en BusyBox, ahora creo que no.

Puedes usar esta app, aunque yo no la he probado nunca, no se si funciona.

https://play.google.com/store/apps/d...sqlite3forroot

Luego el resto ya es fácil, conectas por adb con "adb shell" y solicitas permisos de superusuario con "su" para poder entrar en la carpeta data de tu app. Una vez hecho vas a "data/data/NOMBRE_DEL_PAQUETE/databases/" y abres la BD con "sqlite3 NOMBRE_DE_BD.db"

Si no quieres instalar el cliente SQLite3 en tu móvil también puedes copiar el fichero .db a tu PC y usar un cliente SQLite3 para Windows. Pero por cada instrucción tendrás que copiar el fichero.

De todas formas no se como será tu app, pero cuando yo en mis apps que uso SQLite3 inserto un dato inmediatamente se si se ha insertado bien o no.
Responder Con Cita
  #3  
Viejo 16/07/15, 21:38:38
Avatar de Dexafree
Dexafree Dexafree no está en línea
Mr. FAQMan
Mensajes: 8,021
Compra y venta: (1)
 
Fecha de registro: dic 2008
Mensajes: 8,021
Modelo de smartphone: Samsung Galaxy S i9000 + Galaxy Tab 10.1 WiFi
Versión de ROM: Android 4.1.1 Jelly Bean
Versión de Radio: KF1
Tu operador: Movistar
Mencionado: 65 comentarios
Tagged: 2 hilos
Varias cosas aparte de lo que te ha dicho Kriogen

1. Mediante "adb pull /data/data/nombre.de.tupaquete/databases/nombrebasededatos.db" puedes sacarla directamente
2. Si vas a hacerlo mirando en Windows te recomiendo SQLiteManager de SQLabs, a mi me gusta bastante su funcionamiento (http://www.sqlabs.com/sqlitemanager.php). Evidentemente tienes también la opción de hacerlo directamente por ADB
Responder Con Cita
  #4  
Viejo 17/07/15, 08:05:22
Avatar de androizado
androizado androizado no está en línea
Miembro del foro
Mensajes: 191
 
Fecha de registro: dic 2012
Mensajes: 191
Modelo de smartphone: Nexus 5
Versión de ROM: 5.0.1 Lollipop
Tu operador: Vodafone
Mencionado: 0 comentarios
Tagged: 0 hilos
Buenas gracias antes de nada tanto a kriogeN como a Dexafree, si es verdad que todo lo que estaba viendo hasta ahora apuntaba a que tenías que ser root.

Intente instalar programas de sqlite que no necesitaban se root, pero no hubo manera, supose que no sería tan fácil acceder a ella, sino eres root.

No obstante, voy a probar las opciones que me habéis comentado y os digo. Muchas gracias.
Responder Con Cita
  #5  
Viejo 17/07/15, 09:32:39
Avatar de kriogeN
kriogeN kriogeN no está en línea
Colaborador/a
Mensajes: 4,637
Compra y venta: (1)
 
Fecha de registro: oct 2010
Localización: Murcia
Mensajes: 4,637
Modelo de smartphone: Samsung Galaxy S7 Edge SM-G935F
Versión de ROM: CM13 - CM 11
Tu operador: Vodafone
Mencionado: 60 comentarios
Tagged: 3 hilos
Cita:
Originalmente Escrito por Dexafree Ver Mensaje
Varias cosas aparte de lo que te ha dicho Kriogen

1. Mediante "adb pull /data/data/nombre.de.tupaquete/databases/nombrebasededatos.db" puedes sacarla directamente
2. Si vas a hacerlo mirando en Windows te recomiendo SQLiteManager de SQLabs, a mi me gusta bastante su funcionamiento (http://www.sqlabs.com/sqlitemanager.php). Evidentemente tienes también la opción de hacerlo directamente por ADB
¿Estás seguro de que la opción 1 funciona? Incluso siendo Root necesitarías que la aplicación adb tuviese acceso SU en ese momento al sistema. No se si funcionará si ya se había pedido previamente, pero a mi me suena que no.
Responder Con Cita
  #6  
Viejo 17/07/15, 12:50:35
Avatar de androizado
androizado androizado no está en línea
Miembro del foro
Mensajes: 191
 
Fecha de registro: dic 2012
Mensajes: 191
Modelo de smartphone: Nexus 5
Versión de ROM: 5.0.1 Lollipop
Tu operador: Vodafone
Mencionado: 0 comentarios
Tagged: 0 hilos
Cita:
Originalmente Escrito por kriogeN Ver Mensaje
¿Estás seguro de que la opción 1 funciona? Incluso siendo Root necesitarías que la aplicación adb tuviese acceso SU en ese momento al sistema. No se si funcionará si ya se había pedido previamente, pero a mi me suena que no.
Estaba ahora mismo intentando hacer esa primera opción, con un móvil sin root, ahora mismo no puedo rotearlo el que tengo probaré hacerlo con uno que sea root.

No obstante, sin root me dice que no encuentra el archivo, no sé si es por lo que dices kriogeN de que adb debería tener permisos de SU.
Responder Con Cita
  #7  
Viejo 17/07/15, 12:51:29
Avatar de Dexafree
Dexafree Dexafree no está en línea
Mr. FAQMan
Mensajes: 8,021
Compra y venta: (1)
 
Fecha de registro: dic 2008
Mensajes: 8,021
Modelo de smartphone: Samsung Galaxy S i9000 + Galaxy Tab 10.1 WiFi
Versión de ROM: Android 4.1.1 Jelly Bean
Versión de Radio: KF1
Tu operador: Movistar
Mencionado: 65 comentarios
Tagged: 2 hilos
Cita:
Originalmente Escrito por kriogeN Ver Mensaje
¿Estás seguro de que la opción 1 funciona? Incluso siendo Root necesitarías que la aplicación adb tuviese acceso SU en ese momento al sistema. No se si funcionará si ya se había pedido previamente, pero a mi me suena que no.
Hace muchísimo que utilizo CM, y permite ofrecer permisos de su a aplicaciones y adb, he dado por hecho que en ROMs ajenas a CM también se podría, pero por lo que dices es posible que no

Cita:
Originalmente Escrito por androizado Ver Mensaje
Estaba ahora mismo intentando hacer esa primera opción, con un móvil sin root
Lo mío venía a complementar lo que había dicho kriogeN, que empezaba con
Cita:
Originalmente Escrito por kriogeN Ver Mensaje
Se puede, tienes que ser Root
Responder Con Cita
  #8  
Viejo 17/07/15, 16:42:45
Avatar de kriogeN
kriogeN kriogeN no está en línea
Colaborador/a
Mensajes: 4,637
Compra y venta: (1)
 
Fecha de registro: oct 2010
Localización: Murcia
Mensajes: 4,637
Modelo de smartphone: Samsung Galaxy S7 Edge SM-G935F
Versión de ROM: CM13 - CM 11
Tu operador: Vodafone
Mencionado: 60 comentarios
Tagged: 3 hilos
Cita:
Originalmente Escrito por Dexafree Ver Mensaje
Hace muchísimo que utilizo CM, y permite ofrecer permisos de su a aplicaciones y adb, he dado por hecho que en ROMs ajenas a CM también se podría, pero por lo que dices es posible que no
Si, en las ROMs CM el ADB SHELL siempre se inicia en modo SU, de hecho no tienes ni que ponerlo, pero en el resto de ROMs no, si quieres SU con ADB SHELL tienes que ponerlo.
Responder Con Cita
Gracias de parte de:
  #9  
Viejo 19/07/15, 12:23:37
Avatar de androizado
androizado androizado no está en línea
Miembro del foro
Mensajes: 191
 
Fecha de registro: dic 2012
Mensajes: 191
Modelo de smartphone: Nexus 5
Versión de ROM: 5.0.1 Lollipop
Tu operador: Vodafone
Mencionado: 0 comentarios
Tagged: 0 hilos
Estaba probando en una ROM de Stock, no tengo ni root, ni he flasheado ningúna ROM aún en mi nuevo móvil, tengo otro con el que trasteo más, probaré con una ROM de CM, gracias a ambos.
Responder Con Cita
Respuesta

Estás aquí
Regresar   HTCMania > Todo sobre Android > Programación y Desarrollo para Android


Reglas de Mensajes
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Las caritas están On
Código [IMG] está On
Código HTML está Off

Saltar a Foro



Hora actual: 10:28:56 (GMT +1)

Cookies settings
Powered by vBulletin™
Copyright © vBulletin Solutions, Inc. All rights reserved.
 
HTCMania: líderes desde el 2007