Android存储SQLite的数据库版本在哪里?
我无法findAndroid存储SQLite数据库文件中的数据库版本的位置。 数据库版本在哪里存储?
您可以使用android.database.sqlite.SQLiteDatabase.getVersion()
来读取版本。
在内部,这个方法执行SQL语句“ PRAGMA user_version
”。 我从Android源代码中得到了这个。
在数据库文件中,版本以字节偏移量60存储在数据库文件的数据库头中的“用户cookie”字段中。
如果有人正在寻找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(); }