我无法找到 Android 在 SQLite 数据库文件中存储数据库版本的位置。数据库版本究竟存储在哪里?
You can read the version using android.database.sqlite.SQLiteDatabase.getVersion().
android.database.sqlite.SQLiteDatabase.getVersion()
Internally, this method executes the SQL statement "PRAGMA user_version". I got that from the Android source code.
PRAGMA user_version
In the database file, the version is stored at byte offset 60 in the database header of the database file, in the field 'user cookie'.
If someone is looking for the java code to read version from file:
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(); }