¿Dónde almacena Android la versión de base de datos de SQLite?
No puedo encontrar dónde almacena Android la versión de la base de datos en el archivo de base de datos SQLite. ¿Dónde se almacena exactamente la versión de la base de datos?
- Android: ¿puedo usar una clase SQLiteOpenHelper para varios archivos de base de datos?
- Data not refreshing "DynamiteModule: clase de descriptor de módulo local para com.google.firebase.auth no encontrada"
- ¿Cuáles son las mejores prácticas para SQLite en Android?
- Generar y guardar una lista de ParseObjects dentro de un Parse.Cloud.httpRequest en una función de la nube
- ¿Cuál es el mejor enfoque para cargar más de 1000 registros en un servidor que también contiene imágenes para cada registro desde una aplicación de iOS / Android?
- Android - Base de datos SQLite en tarjeta SD
- Escuchar cualquier cambio en un cursor en android
- ¿Es mejor pasar los datos por intención o consultar la base de datos cuando sea necesario?
- Cómo incrementar el campo en la base de datos sqlite android
- No se puede crear la base de datos SQLite de SQL: error PRAGMA
- ¿Cómo pasar el adaptador de base de datos a otra actividad?
- ¿Cómo probar la migración de bases de datos en Android?
- ¿Es este CursorAdapter personalizado para un ListView correctamente codificado para Android?
Puede leer la versión usando android.database.sqlite.SQLiteDatabase.getVersion()
.
Internamente, este método ejecuta la instrucción SQL " PRAGMA user_version
". Tengo que desde el código fuente de Android .
En el archivo de base de datos, la versión se almacena en el desplazamiento de bytes 60 en el encabezado de base de datos del archivo de base de datos, en el campo "cookie de usuario".
Si alguien está buscando el código java para leer la versión del archivo:
private static int getDbVersionFromFile(File file) throws Exception { RandomAccessFile fp = new RandomAccessFile(file,"r"); fp.seek(60); byte[] buff = new byte[4]; fp.read(buff, 0, 4); return ByteBuffer.wrap(buff).getInt(); }