PDA

Ver la Versión Completa : Android SQLite pantalla negra


Davidecr
31-12-2013, 13:24:16
Hola a todos:

Gracias a vuestra ayuda, consegui entender como funciona XE5 un poco mejor, pero me ocurre lo siguiente:

Si compilo uno de los snnipets de ejemplo de embarcadero sin modificar nada, tanto en target emulador android como terminal fisico, funciona sin problemas.

Si sigo el ejemplo paso a paso Mobile Tutorial: Using SQLite (iOS and Android) pero con otra tabla que yo me invento y la pongo en c:\kk me compila y despliega sin problema, pero al ejecutar tanto en emulador como en dispositivo físico, se me queda la pantalla en negro.

El fallo tiene que ver con la base de datos, seguro, ya que si al TDataSet le cambio active por False, la aplicación no se queda en negro, aunque logicamente, n hace nada al no tener base de datos.

Adjunto codigo de ejemplo a ver si alguien me dice que es lo que hago mal.

wetransfer.com/downloads/52f9f6f273b416a882592d1a0e15aa3a20131231121155/63a4cc040e0a62e8051e5f8a3a60629420131231121155/2bad8e



Muchas gracias

Casimiro Notevi
01-01-2014, 10:47:38
¿Copias la BD al dispositivo?

Davidecr
02-01-2014, 05:49:35
Hola:

En el deplorable Manager busco la ruta de la base de datos la añado como fichero y en el caso de android cambió la ruta por assets\internal\

Eso si, no se cómo asegurarme de si la base de datos está realmente copiada o no.

El enlace que puse el otro día hay que añadir h t tp://w ww. Por sí quieres verlo

Gracias

Neftali [Germán.Estévez]
03-01-2014, 09:22:58
Para saber si el fichero existe o no, puedes usar FileExists (supongo que funcionará).

Otra opción es intentar crear una Base de Datos en el momento de ejecutar.
Revisa estos links, a ver si alguno te ayuda:
XE5 DataBase deployment (http://stackoverflow.com/questions/18877955/delphi-xe5-sqlite-database-deployment-to-android-device-what-path)
Develop Android database App in XE5 (http://blog.devart.com/android-database-application-development-in-rad-studio-xe5.html)

barakuda
03-01-2014, 09:55:08
Hola:

En el deplorable Manager busco la ruta de la base de datos la añado como fichero y en el caso de android cambió la ruta por assets\internal\

Eso si, no se cómo asegurarme de si la base de datos está realmente copiada o no.

El enlace que puse el otro día hay que añadir h t tp://w ww. Por sí quieres verlo

Gracias

Nas,
yo tuve algún problemilla con SQLite (http://www.clubdelphi.com/foros/showthread.php?t=84359) quizás te pueda servir de algo,
suerte.

Davidecr
03-01-2014, 14:02:06
Gracias por vuestra ayuda. Creo saber lo que me ocurre, que es un problemón muy gordo para mi.

Con las bases de datos de ejemplo, todo me funciona sin problemas, pero apenas pongo una base de datos creada por mi mediante el data explorer junto con alguna tabla mía también (igual que los ejemplos pero con otro nombre), es cuando me pasa todo lo que voy relatando en el post.

La opcion CREATE TABLE IF NOT EXISTS ...... siempre la crea, porque por algún motivo, creo que no estoy generando bases de datos de forma correcta y lo peor es que no se como hacerlo, con que herramienta.

He utilizado sqlite3.exe de la siguiente forma también con los mismo resultados y el caso es que con el data explorer veo los datos, pero en un tlistview del IDE no y tampoco en Android.

Sqlite3 create database and table with load.bat file and fill data to table example.

Create folder for your project: my_sqlite_project
Open folder and create file load.bat and paste to load.bat this text and save to project folder:
sqlite3 my_database.s3db < load_text.sql
pause

Create load_text.sql file and paste this text and save to project folder: CREATE TABLE [my_table] (
[_id] int NULL,
[word] VARCHAR(255) NULL,
[description] VARCHAR(255) NULL


.separator ";"
.import text_file.txt my_table

Create text_file.txt and paste this text and save it as UTF-8: 1;word1;my first word
2;word2; my second word



Estoy desesperado, he visto cientos de videos pero todos son con bases de datos ya creadas y claro, yo quiero crear mis propias bases de datos y por más que busco, no consigo encontrar algo con lo que pueda crear bases de datos sqlite o GDB

Gracias.

Casimiro Notevi
03-01-2014, 14:14:34
Creo que la desesperación te está nublando la vista, tómatelo con calma y trata de entender los ejemplos, videos, etc. siguiéndolos poco a poco, y sin avanzar hasta que comprendas cada parte.
Para crear una base de datos lo acabas de escribir tú mismo:
sqlite3 my_database.s3db < load_text.sql

rulgar19
10-03-2014, 10:07:16
Buenos dias David,

Has conseguido encontrar solución a tu problema? a mi me pasa exactamente lo mismo.

espero tu respuesta.

Gracias y un saludo

Casimiro Notevi
10-03-2014, 10:44:25
Bienvenido a clubdelphi, ¿ya leiste nuestra guía de estilo (http://www.clubdelphi.com/foros/guiaestilo.php)?, gracias por tu colaboración :)

dfarias
17-03-2014, 18:41:09
Puede que esto suceda por algún parametro en los Uses permission del dispositivo android ya que el código funciona bien en Windows.:confused: