Я не могу найти, где Android хранит версию базы данных в файле базы данных SQLite. Где именно хранится версия базы данных?
Где Android хранит версию базы данных SQLite?
Ответ 1
Вы можете прочитать версию, используя android.database.sqlite.SQLiteDatabase.getVersion()
.
Внутри этого метода выполняется оператор SQL PRAGMA user_version
". Я получил это из исходный код Android.
В файле базы данных версия хранится в байтовом смещении 60 в
Ответ 2
Если кто-то ищет код 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();
}