Hallo zusammen,
ich rufe innerhalb meiner Activity über eine Funktion eine URL auf und lasse mir ein JSON-Objekt zurückliefern. Wenn allerdings während dem Aufruf oder während der Übertragung ein Wechsel von mobilem Internet zum WLAN, aber auch von WLAN zum mobilem Internet stattfindet, oder aber die Verbindung sowohl zum WLAN als auch mobilem Internet abbricht, stürzt meine Applikation ab.
Gibt es eine geeignete Möglichkeit um einen Absturz meiner App zu verhindern und ggfs. einfach eine Toast-Nachricht zu senden "Verbindungsprobleme" oder ähnliches?
Vielen Dank.
Viele Grüße,
Thomas.
ich rufe innerhalb meiner Activity über eine Funktion eine URL auf und lasse mir ein JSON-Objekt zurückliefern. Wenn allerdings während dem Aufruf oder während der Übertragung ein Wechsel von mobilem Internet zum WLAN, aber auch von WLAN zum mobilem Internet stattfindet, oder aber die Verbindung sowohl zum WLAN als auch mobilem Internet abbricht, stürzt meine Applikation ab.
Java:
public JSONObject connectJSONObject(String url)
{
JSONObject json = null;
HttpParams httpParameters = new BasicHttpParams();
int timeoutConnection = 2000;
HttpConnectionParams.setConnectionTimeout(httpParameters, timeoutConnection);
int timeoutSocket = 2000;
HttpConnectionParams.setSoTimeout(httpParameters, timeoutSocket);
DefaultHttpClient httpClient = new DefaultHttpClient(httpParameters);
// Prepare a request object
HttpGet request = new HttpGet(url);
request.setHeader("Accept", "application/json");
request.setHeader("Content-type", "application/json");
try{
HttpResponse response = httpClient.execute(request);
HttpEntity responseEntity = response.getEntity();
StatusLine status = response.getStatusLine();
if (status.getStatusCode() != 200) {
return new JSONObject("-1");
}
if (responseEntity != null) {
InputStream instream;
instream = responseEntity.getContent();
String result= convertStreamToString(instream);
json = new JSONObject(result);
instream.close();
}
} catch (IllegalStateException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
} catch (JSONException e) {
e.printStackTrace();
}
return json;
}
Gibt es eine geeignete Möglichkeit um einen Absturz meiner App zu verhindern und ggfs. einfach eine Toast-Nachricht zu senden "Verbindungsprobleme" oder ähnliches?
Vielen Dank.
Viele Grüße,
Thomas.