Estoy tratando de crear una base de datos en mi tarjeta SD. Siempre que llamo SQLiteDatabase.openOrCreateDatabase me sale el error:Android abrir o crear base de datos
07-21 13:33:17.587: ERROR/AndroidRuntime(5541): Caused by: android.database.sqlite.SQLiteException: unable to open database file
¿Alguien sabe qué puede estar causando esto? Aquí está el código que tengo en el método open() de mi clase de base de datos:
File sdcard = Environment.getExternalStorageDirectory();
String dbfile = sdcard.getAbsolutePath() + File.separator+ "external_sd" + File.separator + Schema.DATABASE_NAME ;
db = SQLiteDatabase.openOrCreateDatabase(dbfile, null);
Como nota al margen, ¿por qué intentas escribir la base de datos en la tarjeta sd, en lugar de/data/data? –
Quiero poder ayudar a los usuarios si hay algún error en los datos. De hecho, estoy extrayendo los datos de una base de datos de servidor sql, así que quiero poder detectar y manipular cualquier dato inesperado. Supongo que podría crear algunas clases para importar y exportar la base de datos del almacenamiento privado. – zzzzzzzzzzzzzzzzzzzzzzzzzzzzzz