2010-09-14 20 views

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".

+0

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

+9

È memorizzato nell'intestazione del database (ho aggiornato la mia risposta). –

+3

E leggerlo e modificarlo http://stackoverflow.com/questions/8030779/change-sqlite-database-version-number –

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