Uso de archivo personalizado para la base de datos Android sqlite
¿Es posible elegir una ubicación personalizada para el archivo de base de datos sqlite?
Si es posible, quiero almacenar el archivo de base de datos en la tarjeta de memoria. Y si el usuario cambia de una tarjeta de memoria a la otra, quiero que mi aplicación use cualquier versión del archivo de base de datos disponible en la tarjeta.
- Cómo escapar caracteres especiales como 'en sqlite en android
- Tabla de puntuaciones altas
- Android Rating Bar muestra sólo estrellas completas, no media estrellas también
- Cambiar el número de versión de la base de datos SQLite
- Manejo del almacenamiento de disco completo en Android
- ¿Es Parse.com un servicio adecuado para la copia de seguridad / sincronización con SQLite en Android?
- Rellene ExpandableListView con datos de SQLite
- Android: niveles de aislamiento de transacciones SQLite (ORMLite)
- Intenta reabrir un objeto ya cerrado: sqlitequery
- Cambiar un valor en una columna en sqlite
- Sincronización entre la base de datos SQL Lite en un dispositivo android y la base de datos de SQL Server
- Cómo agregar fecha en la base de datos sqlite
- Cómo utilizar la cláusula LIKE en la función de consulta
De forma predeterminada, su base de datos se almacena en data / data / your_package / databases
Puede utilizar SQLiteDatabase
openOrCreateDatabase
donde puede proporcionar la ruta a su base de datos personalizada como su primer argumento.
Puede acceder a una base de datos almacenada en su tarjeta sd mediante:
import android.database.Cursor; import android.database.SQLException; import android.database.sqlite.SQLiteDatabase; public class MyClass { private SQLiteDatabase myDB = null; // Constructor public MyClass() { try { myDB = SQLiteDatabase.openDatabase(stPathToDB, null, SQLiteDatabase.NO_LOCALIZED_COLLATORS|SQLiteDatabase.OPEN_READONLY); } catch (SQLException e) { e.printStackTrace(); } } // Destructor public void finalize() { myDB.close(); } }
NO_LOCALIZED_COLLATORS = para abrir la base de datos sin soporte para localizadores localizados.
Con el fin de obtener el camino a su tarjeta SD puede utilizar:
stPathToDB = android.os.Environment.getExternalStorageDirectory().toString()+"/dbase.sqlite"
Rgds Layne