Domanda

Ho un database SQLITE dichiarato e memorizzato a livello di applicazione. I Gestire le modifiche alla configurazione come la rotazione del dispositivo, quindi la chiusura del database l'ho impostato all'interno dell'Oconteroy della Maineattività, ma all'interno di un se (questo.isfinishing ()).

Il problema che ho è che, se subito dopo aver chiuso l'app provo a lanciarlo di nuovo, schiantando di darmi che ha provato ad aprire un database già chiuso. La prossima volta si avvierà correttamente. Immagino che questo perché Android non ha mai chiuso la domanda perché non c'era bisogno, ed è ancora in background.

Non riesco a trovare un modo per rilevare onfinish / ondestroy .... a livello di applicazione, per chiudere il database lì. L'unica soluzione alternativa che posso fare è non chiudere il database. Ma questo può darmi problemi forse quando si tenta di aprirlo di nuovo nel caso Android veramente chiuso la mia applicazione, no?

C'è un modo per forzare chiudere l'applicazione? (Penso che non ci sia). C'è un modo per rilevare la chiusura dell'applicazione per chiudere il database lì? Avrò problemi a provare a aprire un database non chiuso se l'applicazione è stata chiusa da Android? O Android chiude il database collegato a un'applicazione che si chiuderà?

È stato utile?

Soluzione

.

L'unica soluzione alternativa che posso fare è non chiudere il database

Corretto, e questa è la risposta giusta.

.

Ma questo può darmi problemi forse quando si tenta di aprirlo di nuovo nel caso Android veramente chiuso la mia applicazione, no?

no.

.

C'è un modo per rilevare la chiusura dell'applicazione per chiudere il database lì?

no.

.

Avrò problemi a cercare di aprire un database non chiuso se l'applicazione è stata chiusa da Android?

no.

.

o Android chiude il database collegato a un'applicazione che si chiuderà?

no.

La chiusura di un database non fa davvero tutto questo.Sqlite è transazionale;Tutte le operazioni di scrittura del database sono scritte su disco quando si esegue tali transazioni.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top