2010-09-14 107 views

回答

180

您可以使用android.database.sqlite.SQLiteDatabase.getVersion()來閱讀版本。

該方法在內部執行SQL語句「PRAGMA user_version」。我從Android source code得到了。

在數據庫文件中,版本以字節偏移量60存儲在數據庫文件的database header的字段'user cookie'中。

+0

這是有用的,但我的問題是哪裏該版本信息獲取存儲在文件系統中(或者可能是數據庫文件) ? – bhups 2010-09-15 03:23:48

+9

它存儲在數據庫頭(我更新了我的答案)。 – 2010-09-15 04:12:29

+3

並閱讀和修改它 http://stackoverflow.com/questions/8030779/change-sqlite-database-version-number – 2014-01-13 15:14:58

6

如果有人找java代碼讀取文件版本:

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(); 
} 
相關問題