Android, SQLite'ın veritabanı sürümünü nerede saklıyor?


88

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:


188

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 .


bu yararlıydı, ancak sorum şu: Bu sürüm bilgisi dosya sisteminde (veya veritabanı dosyasında olabilir) nerede saklanıyor?
bhups

3
Ve okumak ve değiştirmek için stackoverflow.com/questions/8030779/…
Yaroslav Mytkalyk

veritabanı sürümü veritabanı dosyasında nasıl saklanır?
xuehui

@xuehui yanıta bakın: veritabanı dosyasında bayt 60.
Thomas Mueller

8

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();
}
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.