bhu*_*ups 88 database android android-sqlite
我无法找到Android在SQLite数据库文件中存储数据库版本的位置.数据库版本到底存储在哪里?
Tho*_*ler 187
您可以使用阅读版本android.database.sqlite.SQLiteDatabase.getVersion()
.
在内部,此方法执行SQL语句" PRAGMA user_version
".我从Android源代码中得到了这个.
在数据库文件中,版本存储在数据库文件的数据库头中的字节偏移60处,在"用户cookie"字段中.
小智 8
如果有人正在寻找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();
}
Run Code Online (Sandbox Code Playgroud)