Android'in veritabanı sürümünü SQLite veritabanı dosyasında nerede sakladığını bulamıyorum. Veritabanı sürümü tam olarak nerede saklanıyor?
Yanıtlar:
Kullanarak sürümü okuyabilirsiniz android.database.sqlite.SQLiteDatabase.getVersion()
.
Dahili olarak, bu yöntem SQL deyimini " PRAGMA user_version
" yürütür . Bunu Android kaynak kodundan aldım .
Veri tabanı dosyasında, sürüm, 'kullanıcı çerezi' alanında veri tabanı dosyasının veri tabanı başlığındaki bayt sapması 60'ta saklanır .
Birisi dosyadan sürümü okumak için java kodunu arıyorsa:
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();
}