2010-09-14 10 views

Antwort

180

Sie können die Version mit android.database.sqlite.SQLiteDatabase.getVersion() lesen.

Intern führt diese Methode die SQL-Anweisung "PRAGMA user_version" aus. Ich habe das von der Android source code.

In der Datenbankdatei wird die Version im Byteoffset 60 in der database header der Datenbankdatei im Feld 'user cookie' gespeichert.

+0

, das war nützlich, aber meine Frage woher kommt diese Info-Version auf dem Dateisystem erhalten gespeichert (oder in Datenbank-Datei sein kann) ? – bhups

+9

Es ist in der Datenbank-Header gespeichert (ich aktualisierte meine Antwort). –

+3

Und zu lesen und zu ändern http://stackoverflow.com/questions/8030779/change-sqlite-database-version-number –

6

Wenn jemand für den Java-Code sucht Version von Datei zu lesen:

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(); 
}