반응형
Android는 SQLite의 데이터베이스 버전을 어디에 저장합니까?
Android가 SQLite 데이터베이스 파일 내에서 데이터베이스 버전을 저장하는 위치를 찾을 수 없습니다. 데이터베이스 버전은 정확히 어디에 저장됩니까?
을 사용하여 버전을 읽을 수 있습니다 android.database.sqlite.SQLiteDatabase.getVersion()
.
내부적으로이 메서드는 SQL 문 " PRAGMA user_version
"을 실행합니다 . Android 소스 코드 에서 가져 왔습니다 .
데이터베이스 파일에서 버전은 'user cookie'필드에있는 데이터베이스 파일 의 데이터베이스 헤더 에있는 바이트 오프셋 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();
}
참고 URL : https://stackoverflow.com/questions/3707797/where-does-android-store-sqlites-database-version
반응형
'program story' 카테고리의 다른 글
System.Enum에서 기본 정수로 변환하는 방법은 무엇입니까? (0) | 2020.09.09 |
---|---|
curl이 리디렉션 된 후 최종 URL 가져 오기 (0) | 2020.09.09 |
Django 관리자 : 모델에서 editable = False '로 표시된 필드를 표시하는 방법은 무엇입니까? (0) | 2020.09.09 |
SQLAlchemy를 사용하여 새 데이터베이스를 만드는 방법은 무엇입니까? (0) | 2020.09.09 |
"인수 목록이 너무 길다"는 경우 3 일이 지난 모든 파일을 삭제하는 방법은 무엇입니까? (0) | 2020.09.09 |