2014-09-23 4 views
1

나는 내 안에 Sqlite를 가지고 있으며 사용자에게 dB를 다시로드 할 수있는 옵션을 제공하고 싶습니다. 따라서 dB를 프로그래밍 방식으로 지우고 OnCreate 메서드를 사용하여 테이블을 설정하려면 무엇이든 실행하십시오.응용 프로그램을 다시 시작하지 않고 sqlite dB 삭제/지우기

나는 context.deleteDatabases (dbName) 을 사용하여 개체를 초기화했습니다.

문제는 응용 프로그램을 다시 시작할 때까지 영향을 미치지 않는다는 것입니다. 이 작업을 수행하는 다른 방법이나 이에 대한 해결책이 있습니까? 고마워요

+0

은 활동을 다시 작성하지 않았기 때문일 수 있습니다. – SMR

+0

데이터베이스를 처음 만들 때 OnCreate 메서드가 호출됩니다. 따라서 데이터베이스를 지우더라도 oncreate는 다시 호출되지 않습니다. u 응용 프로그램을 다시 시작하면 url Oncreate 메서드가 호출됩니다. 그래서, u가 다시 시작했을 때 반영되었습니다. –

답변

0

getWriteableDatabase()을 사용하여 삭제 후 데이터베이스를 다시 엽니 다. 그러면 데이터베이스가 생성되고 onCreate 콜백이 다시 호출됩니다.

+0

이미 그렇게했습니다. dB를 삭제 한 후 OnCreate를 호출하는 dB의 다른 인스턴스를 만듭니다. 나는 getwriteable하고 일부 행을 추가합니다. 앱을 죽이고 다시 시작할 때까지 아무 것도 나타나지 않습니다. – Snake

관련 문제