android_metadata와 같은 테이블이 없습니다. 문제가 무엇입니까?
기존 데이터베이스를 using-your-own-sqlite-database-in-android-applications에서/data/data/packagename/databases
배운 코드 를 사용하여 복사하고 있습니다.
복사 후 데이터베이스를 열 때 다음과 같은 로그 메시지가 나타납니다.
android_metadata 테이블이 없습니다.
android_metadata라는 테이블을 만들어야합니까? 이 데이터베이스 테이블에 삽입해야하는 값은 무엇입니까?
매우 감사합니다
실제로 조금 더 읽어 보면 SQLiteDatabase.NO_LOCALIZED_COLLATORS
전화 할 때 플래그 를 사용해야한다는 것을 발견했습니다 SQLiteDatabase.openDatabase()
. 더 이상 문제가 발생하지 않습니다.
사용하다
SQLiteDatabase.openDatabase(dbPath, null,SQLiteDatabase.NO_LOCALIZED_COLLATORS | SQLiteDatabase.CREATE_IF_NECESSARY);
또는
SQLiteDatabase.openDatabase(dbPath, null,SQLiteDatabase.OPEN_READWRITE);
어떤 이유로 android는 적어도 하나의 로케일을 포함하는 android_metadata라는 테이블을 모든 데이터베이스에 요구하는 것 같습니다. reigndesign 당신이 언급 한 블로그는 어떻게 테이블을 생성하고 로케일을 미리 기입하는 방법을 알려줍니다.
데이터베이스에이 테이블이 있는지, 테이블에 내용이 있는지 확인하십시오.
예를 들어 자산 디렉토리에서 데이터베이스를 복사 할 때 이미 android_metadata 테이블이 생성되어 있어야합니다. 이 테이블에는 두 개의 열이 있어야합니다.
_id = an integer value
locale = en
나는 이미 그 링크에 주어진대로 오랫동안 사용하고 있습니다 ..
그것은 작동합니다 .. 테이블이 생성되었는지 여부를 다시 DB를 체크 아웃?
동일한 링크에 언급 된대로 모든 프로세스를 완료 한 후 sqlite 데이터베이스 작업을 위해 파이어 폭스에 SQLite Manager 플러그인을 설치하는 것을 선호합니다 ..
Checkout http://www.devx.com/wireless/Article/40842/1954 .
여기에는 모든 데이터베이스 작업이 포함됩니다.
파일 권한 일 수도 있습니다. 오류 메시지는 잘못된 것입니다. 먼저 앱의 사용자 ID를 찾아야합니다 (루트 액세스 권한이 있다고 가정).
$ adb shell grep <packagename> /data/system/packages.xml
출력은 다음과 같아야합니다.
<package name="com.fsck.k9" codePath="/data/app/com.fsck.k9-1.apk"
nativeLibraryPath="/data/data/com.fsck.k9/lib"
flags="0" ft="1306ecac340" it="1306ecac9d2" ut="1306ecac9d2"
version="14001" userId="10002">
여기서 userId는 10002입니다.
그런 다음 권한을 수정하십시오.
$ adb shell chown -R 10002:10002 /data/data/<packagename>
제 경우에는 open transaction
왼쪽을 떠나면이 오류가 발생한다는 것을 발견했습니다 .
즉 : 당신이 잊어 버린 경우 commit
또는 rollback
당신이 당신의 응용 프로그램에 입력 한 다음에 트랜잭션이 오류가 최대 발생합니다.
참조 URL : https://stackoverflow.com/questions/2528489/no-such-table-android-metadata-whats-the-problem
'programing' 카테고리의 다른 글
C #에서 저장 프로 시저 출력 매개 변수 사용 (0) | 2021.01.18 |
---|---|
이미 존재하는 프로그램 유형 : android.support.v4.app.BackStackRecord (0) | 2021.01.17 |
이벤트 핸들러 이름에 대한 ReSharper 규칙 (0) | 2021.01.17 |
sqlalchemy 여러 열 필터링 (0) | 2021.01.17 |
소프트 키보드가 나타나면 EditText 필드가 포커스를 잃게됩니다. (0) | 2021.01.17 |