Ich habe eine Android-App, die eine Anfrage an den Server stellt und eine Antwort erhält. Ich benutze Retrofit2
und OkHttp
. Ich bekomme Antwort in JSOn
, die dann unter Verwendung GSON
geparst wird. Manchmal ist das Objekt möglicherweise null und die App stürzt ab. Ich habe eine Antwort in mehreren Fragmenten, so dass die App in irgendeinem Teil abstürzen könnte, wenn die Antwort ein Nullobjekt hat.Globale Ausnahme abfangen und App-Absturz verhindern
Also plante ich eine globale Ausnahmeerfassungsklasse, die eine Ausnahme abfängt und die App nicht abstürzt, sondern dem Benutzer ein benutzerdefiniertes Dialogfeld anzeigt, das "Call Support"
sagt.
Ich möchte diesen Android Dialog "App not responding"
nicht haben. Wie kann ich das erreichen? Meine App darf auf keinen Fall abstürzen, obwohl der Server sme null-Objekt sendet.
Die App wird nicht abstürzen, obwohl der Server Null-Objekt sendet. Retrofit kümmert sich darum. Könnte mit Ihrer POJO-Klasse überprüft werden. –
"Manchmal ist das Objekt möglicherweise null und die App stürzt ab" - validiert die Antwort vom Server und verarbeitet ungültige Daten, statt die Daten blindlings weiterzuleiten und abzustürzen. "Ich habe eine Antwort in mehreren Fragmenten, so dass die App in einem beliebigen Teil abstürzen kann, wenn die Antwort ein Nullobjekt enthält" - Zentralisieren Sie Ihren Code zum Abrufen von Daten vom Server und validieren Sie die Antwort. "Meine App darf auf keinen Fall abstürzen, obwohl der Server ein sme-Objekt sendet" - validiere dann die Antwort vom Server. Ein globaler Ausnahme-Handler ist hier keine geeignete Lösung, IMHO. – CommonsWare