Non riesco a trovare dove Android memorizza la versione del database all'interno del file di database SQLite. Dove è memorizzata esattamente la versione del database?Dove viene memorizzato Android nella versione del database di SQLite?
86
A
risposta
180
È possibile leggere la versione utilizzando android.database.sqlite.SQLiteDatabase.getVersion()
.
Internamente, questo metodo esegue l'istruzione SQL "PRAGMA user_version
". L'ho preso dallo Android source code.
Nel file di database, la versione viene memorizzata nell'offset di byte 60 nel database header del file di database, nel campo "cookie utente".
6
Se qualcuno sta cercando per il codice Java per leggere la versione da file:
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();
}
Problemi correlati
- 1. Android - Dove si trova il SQLite database memorizzato
- 2. Dove è memorizzato il database SQLite su disco?
- 3. Modifica numero di versione del database SQLite
- 4. del database locale SQLite Android, chiusura, e la versione
- 5. Dove viene salvato il database SQLite di Chrome?
- 6. WiFi Password: come viene memorizzato e dove?
- 7. Schema del database Sqlite Android
- 8. Dove viene creato automaticamente il database SQLite da django?
- 9. Cosa succede a un database Sqlite quando l'app viene rimossa
- 10. Aggiornamento database sqlite quando il database del server viene aggiornato
- 11. Dove viene memorizzato il database Derby quando viene creato da Netbeans?
- 12. Il database Sqlite onUpgrade() non viene chiamato
- 13. Crea database SQLite in Android
- 14. synchronize database sqlite Android
- 15. Database Magento L'IP è memorizzato nella cache
- 16. Perché window.name viene memorizzato nella cache?
- 17. Utilizzo del file personalizzato per database SQLite Android
- 18. Aggiornamento database SQLite Android e app
- 19. Copia due database SQLite nella cartella delle risorse in Android
- 20. Aggiornare il database SQLite da una versione all'altra?
- 21. Versione di SQLite utilizzata in Android?
- 22. Memorizzazione nella cache di PhantomJS. Dove è memorizzato?
- 23. Dimensione massima del database SQLite in memoria di un'app Android?
- 24. database SQLite ..onCreate() non viene chiamato
- 25. aggiornamento del database SQLite che copio dalla cartella attivi (Android)
- 26. Condivisione del database sqlite tra più attività Android
- 27. Posso crittografare la password del database SQLite?
- 28. Memorizzazione di valuta nel database Android SQlite
- 29. Flushing e database SQLite su Android
- 30. Recupera blob di grandi dimensioni dal database sqlite di Android
che era utile, ma la mia domanda è: da dove viene questa informazione versione vengono memorizzati sul filesystem (o può essere in file di database) ? – bhups
È memorizzato nell'intestazione del database (ho aggiornato la mia risposta). –
E leggerlo e modificarlo http://stackoverflow.com/questions/8030779/change-sqlite-database-version-number –