2011-11-21 2 views
1

SQLite 데이터베이스에 데이터를 저장하는 콘텐츠 공급자를 개발 중입니다. 개발하는 동안 스키마를 변경하거나 데이터베이스를 완전히 삭제하고 다시 작성해야합니다 (개발 단계에서 데이터베이스를 업그레이드하지는 않습니다).ContentProvider 데이터베이스가 삭제되지 않음

/data/data/databases/app_db에 저장된 데이터베이스 파일을 찾았습니다. 데스크톱 컴퓨터로 가져 오면 SqliteSpy를 사용하여 내용을 볼 수 있으며 모든 것이 잘되어 있습니다. 그러나 삭제할 때 항상 이 실제로이 삭제되는 것은 아닙니다. DDMS 또는 ADB에서 파일을 볼 수는 없지만 내 응용 프로그램은 여전히 ​​그것을 봅니다.

파일을 삭제할 때 내 응용 프로그램과 서비스가 작동하지 않는지 확인하려고했지만 도움이되지 않습니다. 약 절반의 시간에 파일을 지우고 효과를 내기 위해 에뮬레이터를 다시 시작해야합니다.

파일이 실제로 삭제되지 않도록 할 수있는 것은 무엇입니까?

Itay.

답변

2

ContentProvider에 대한 단위 테스트를 작성할 때도이 문제가 발생했습니다. 특정 데이터베이스 파일을 사용하는 호스트 ContentProvider을 호스트하는 프로세스를 종료했는지 확인해야합니다. 그리고 그것을 삭제하는 것보다.

+0

나는 그것을 시도했다. 다시 시도해 보겠습니다 ... – zmbq

+0

나는 두 번 더 시험해 보았습니다. 이번에는 파일을 삭제하기 전에 * 응용 프로그램이 다운되었는지 확인했습니다. (어제는 파일을 삭제 한 다음 응용 프로그램을 닫았습니다.). 지금은 효과가있는 것 같습니다. 감사! – zmbq

관련 문제