문제

I SQLite 데이터베이스가 응용 프로그램 수준에서 선언되고 저장됩니다. i 장치 회전과 같은 구성 변경을 처리하므로 데이터베이스의 닫는 것이 주 간격의 ondestroy 내부에서 설정하지만 if (this.isfinishing ()) 내부에 있습니다.

제가 가진 문제는 앱을 닫은 직후에 다시 시작하려고하면 이미 닫힌 데이터베이스를 열려고 노력했음을 알려줍니다. 다음 번에 올바르게 시작됩니다. 나는 이것이 필요 없기 때문에 Android가 실제로 신청서를 폐쇄 한 것은 결코 실제로 결코 폐쇄되지 않았기 때문입니다.

onfinish / ondestroy를 탐지하는 방법을 찾을 수 없었습니다 ... 응용 프로그램 수준에서 데이터베이스를 닫으려면. 할 수있는 유일한 해결 방법은 데이터베이스를 닫지 않는 것입니다. 그러나 이것은 Android가 진정으로 폐쇄 된 내용, 아니요?

를 통해 다시 열려고 할 때 문제를 해결할 수 있습니다.

응용 프로그램을 강제로 닫을 수있는 방법이 있습니까? (나는 거기에 없다고 생각합니다). 데이터베이스를 닫아 응용 프로그램의 닫는 방법을 탐지하는 방법이 있습니까? 응용 프로그램이 Android에 의해 폐쇄 된 경우 닫힌 데이터베이스를 열려고하는 데 문제가 있습니까? 또는 Android는 닫을 수있는 응용 프로그램에 링크 된 데이터베이스를 닫습니다.

도움이 되었습니까?

해결책

제가 할 수있는 유일한 해결 방법은 데이터베이스를 닫지 않도록

정확하고 이것이 올바른 대답입니다.

그러나 이것은 Android가 진정으로 폐쇄 된 내용, 아니요?

를 통해 다시 열려고 할 때 문제가 될 수 있습니다.

아니오.

애플리케이션의 폐쇄를 탐지하여 데이터베이스를 닫을 수있는 방법이 있습니까?

아니오.

응용 프로그램이 Android에 의해 폐쇄 된 경우 닫힌 데이터베이스를 열려고하는 데 문제가 있습니까?

아니오.

또는 Android는 닫을 수있는 응용 프로그램에 연결된 데이터베이스를 닫습니다.

아니오.

데이터베이스를 닫는 것은 실제로 모든 것을 많이 수행하지 않습니다.SQLite는 트랜잭션입니다.해당 트랜잭션을 실행할 때 모든 데이터베이스 쓰기 작업이 디스크에 기록됩니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top