No puedo encontrar dónde Android almacena la versión de la base de datos dentro del archivo de base de datos SQLite. ¿Dónde exactamente está almacenada la versión de la base de datos?¿Dónde guarda Android la versión de la base de datos de SQLite?
86
A
Respuesta
180
Puede leer la versión usando android.database.sqlite.SQLiteDatabase.getVersion()
.
Internamente, este método ejecuta la instrucción SQL "PRAGMA user_version
". Lo obtuve del Android source code.
En el archivo de base de datos, la versión se almacena en el desplazamiento de bytes 60 en database header del archivo de base de datos, en el campo 'cookie del usuario'.
6
Si alguien está buscando el código de 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();
}
Cuestiones relacionadas
- 1. ¿Dónde guarda Chrome su base de datos SQLite?
- 2. base de datos SQLite Android local, bloqueo, y la versión
- 3. Android cambiar el nombre de la base de datos SQLite
- 4. Android: cierre de la base de datos SQLite
- 5. Populating Spinner de la base de datos SQLite Android
- 6. ¿Dónde guarda ELMAH sus datos?
- 7. Crear tablas en la base de datos sqlite en android
- 8. ¿Puedo encriptar la base de datos SQLite?
- 9. ¿Por qué usar la base de datos sqlite en Android?
- 10. ¿Cómo extraigo la base de datos sqlite del dispositivo Android?
- 11. Android explore la base de datos SQLite en el teléfono
- 12. Android: SQLite usando la base de datos incorrecta
- 13. Guardando ArrayList en la base de datos SQLite en Android
- 14. Insertar matriz en la base de datos SQLite en android
- 15. Android - Acceso a la base de datos en línea SQlite
- 16. Crear base de datos SQLite en android
- 17. Seguridad de la base de datos Sqlite
- 18. Android - ¿Existe una base de datos SQLite?
- 19. Android ExpandableListView y base de datos SQLite
- 20. ¿dónde se guarda la sesión?
- 21. Manteniendo la misma base de datos SQLite y al actualizar la aplicación para Android de Lite a la versión Pro
- 22. ¿Dónde se guarda el archivo .bak de la base de datos desde SQL Server Management Studio?
- 23. ¿Dónde guarda Android los registros de cierre?
- 24. cómo reducir la base de datos sqlite?
- 25. ¿Actualizar la base de datos SQLite de una versión a otra?
- 26. SQLite: ¿la forma más rápida de leer datos de la base de datos SQLite?
- 27. ¿dónde se guarda mi base de datos cuando la creo en MySQL?
- 28. iPhone: ¿Guarda datos de usuario en plist, SQLite o cookie?
- 29. EntityManager persist() no guarda nada en la base de datos
- 30. ¿Cómo veo que la base de datos cakephp guarda errores?
que era útil, pero mi pregunta es ¿de dónde viene esta información de la versión se almacenan en el sistema de archivos (o puede estar en el archivo de base de datos) ? – bhups
Se almacena en el encabezado de la base de datos (actualicé mi respuesta). –
Y para leer y modificarlo http://stackoverflow.com/questions/8030779/change-sqlite-database-version-number –