我无法找到 Android 在 SQLite 数据库文件中存储数据库版本的位置。数据库版本究竟存储在哪里?
问问题
28575 次
2 回答
191
您可以使用 阅读该版本android.database.sqlite.SQLiteDatabase.getVersion()
。
在内部,此方法执行 SQL 语句“ PRAGMA user_version
”。我是从Android 源代码中得到的。
在数据库文件中,版本存储在数据库文件的数据库头中的字节偏移量 60 处,在“用户 cookie”字段中。
于 2010-09-14T18:52:56.843 回答
10
如果有人正在寻找 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();
}
于 2015-08-03T23:59:10.507 回答