質問

AndroidがSQLiteデータベースファイル内でデータベースバージョンを保存する場所を見つけることができません。データベースバージョンはどこに保存されますか?

役に立ちましたか?

解決

使用してバージョンを読むことができます android.database.sqlite.SQLiteDatabase.getVersion().

内部的には、この方法はSQLステートメントを実行します」PRAGMA user_version"。私はそれを手に入れました Androidソースコード.

データベースファイルでは、バージョンはバイトオフセット60に保存されます データベースヘッダー データベースファイルのフィールド「ユーザークッキー」。

他のヒント

誰かがファイルからバージョンを読む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();
}
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top