代码之家  ›  专栏  ›  技术社区  ›  bhups

Android在哪里存储SQLite的数据库版本?

  •  87
  • bhups  · 技术社区  · 15 年前

    我找不到Android在sqlite数据库文件中存储数据库版本的位置。数据库版本存储在哪里?

    2 回复  |  直到 9 年前
        1
  •  184
  •   elcuco    12 年前

    您可以使用 android.database.sqlite.SQLiteDatabase.getVersion() .

    在内部,此方法执行SQL语句” PRAGMA user_version “。我从那里得到的 Android source code .

    在数据库文件中,版本存储在 database header 数据库文件的,在“用户cookie”字段中。

        2
  •  8
  •   Rafal Malek    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();
    }