Sto usando Realm per Android per memorizzare alcuni dati. Quando l'utente preme il pulsante di disconnessione, desidero cancellare l'intero database di Realm. Per fare ciò, ho il seguente snippet di codice:Come si controlla se un'istanza di dominio è stata già chiusa?
realm.close();
realm.deleteRealmFile(this);
goToLoginActivity();
Il problema è ora nella mia funzione onResume. Ricevo la seguente eccezione:
Causato da: java.lang.IllegalStateException: questa istanza di Realm è già stata chiusa, rendendola inutilizzabile.
Il mio codice onResume è il seguente:
@Override
protected void onResume() {
super.onResume();
// I'm trying to check if the realm is closed; this does not work
if (realm == null) {
realm = Realm.getInstance(this);
}
// Do query using realm
}
Come posso controllare per vedere se un oggetto ambito è stato già chiuso? In alternativa, esiste un modo migliore per cancellare il database rispetto all'eliminazione del file realm?
-
Edit: appena ha visto How can I easily delete all objects in a Realm per iOS. Qualche parola su quando l'API deleteAllObjects sarà disponibile per Android? Al momento della scrittura, Android è alla versione 0.80.0 e l'API è disponibile in iOS in 0.87.0.
puoi accettare la risposta di Grim? Sembra che ti abbia dato esattamente quello che stavi chiedendo. –