AndroidがSQLiteデータベースファイル内のどこにデータベースバージョンを保存しているかがわかりません。データベースのバージョンは正確にどこに保存されていますか?
28575 次
2 に答える
191
を使用してバージョンを読み取ることができますandroid.database.sqlite.SQLiteDatabase.getVersion()
。
内部的には、このメソッドはSQLステートメント" PRAGMA user_version
"を実行します。これはAndroidのソースコードから取得しました。
データベースファイルでは、バージョンは、データベースファイルのデータベースヘッダーの「usercookie」フィールドのバイトオフセット60に保存されます。
于 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 に答える