Buenas.
Más que dar con la solución, diría que he encontrado mi error.
Simplemente he analizado las tablas de la base de datos con un shell
remoto mediante adb en lugar de con el terminal del dispositivo.
Resumo lo sucedido:
Dado que no disponía de mi PC y la aplicacion me devolvía esa
excepcion, probe a analizar la base de datos directamente desde el
terminal del dispositivo (es decir, no usaba el adb, sino la app
Better Terminal). Como he comentado, desde el terminal del propio
dispositivo puedes llegar a ver que la base de datos existe en la
memoria del telefono:
(A) Desde el terminal del dispositivo con acceso root:
------------------------------------------------------------------------------
$ su
# cd /data/data/mi_package/databases/
# ls
# mi_base_de_datos
Si ahora intentas analizar desde el terminal del propio dispositivo la
base de datos mediante sqlite:
1) Listar las bases de datos del dispositivo:
#
# sqlite3
sqlite>
sqlite>.databases
seq name file
----- ---------------- -----------------------------------
0 main
Como puedes comprobar, no se lista mi base de datos. Al parecer, en un
dispositivo real, esta informacion no se puede mostrar. Si alguien me
lo pudiera confirmar lo agradecería.
2) Analizar las tablas de la base de datos:
#
# sqlite3 /data/data/mi_package/databases/mi_base_de_datos
sqlite>
sqlite>.tables
sqlite>
Como puedes comprobar, no muestra ninguna tabla. Esto es lo que me
llevo a postear mi problema. No veía las tablas de la base de datos y
pense que se me escapaba algo al portar la app al dispositivo (en el
emulador iba perfect)
(B) Usando un shell remoto mediante adb
------------------------------------------------------------
Una vez llegue a mi casa, pude conectar el dispositivo al PC y
realizar las mismas comprobaciones desde el PC.
Desde el PC, abres un shell remoto y te conectas con el dispositivo
mediante adb.
A continuación realizas los mismos chequeos:
$ su
# cd /data/data/mi_package/databases/
# ls
# mi_base_de_datos
1) Listar las bases de datos del dispositivo:
#
# sqlite3
sqlite>
sqlite>.databases
seq name file
----- ---------------- -----------------------------------
0 main
En este caso, tampoco se lista mi base de datos.
2) Analizar las tablas de la base de datos:
#
# sqlite3 /data/data/mi_package/databases/mi_base_de_datos
sqlite>
sqlite>.tables
sqlite> table1 table2 ...
En este caso si me aparecian las tablas de la base de datos, por lo
que me pude dar cuenta de que la version de dicha base de datos no era
la correcta (las tablas no estaban renombradas)
Nada mas.
He comentado todo este follon por si le pasara a alguien algún día.
Un saludo