Exception android.os.NetworkOnMainThreadException","code":"503" -
here code:
private static jsonobject dogetrequest(string url) throws jsonexception { system.out.println("dogetrequest > url : " + url); jsonobject json = null; httpclient httpclient = new defaulthttpclient(); httpget httpget = new httpget(url); httpresponse response; system.out.println("dogetrequest > httpget " + httpget); try { system.out.println("dogetrequest > before response "); response = httpclient.execute(httpget); system.out.println("dogetrequest > response " + response); if(response.getstatusline().getstatuscode() == 200) { httpentity entity = response.getentity(); if (entity != null) { inputstream instream = entity.getcontent(); string result = convertstreamtostring(instream); instream.close(); json = new jsonobject(result); } } else { json = odeskrestclient.generror(response.getstatusline().getstatuscode(), response.getstatusline().tostring()); } } catch (clientprotocolexception e) { json = odeskrestclient.generror(http_response_503, "exception: clientprotocolexception"); } catch (ioexception e) { json = odeskrestclient.generror(http_response_503, "exception: ioexception"); } catch (jsonexception e) { json = odeskrestclient.generror(http_response_503, "exception: jsonexception"); } catch (exception e) { json = odeskrestclient.generror(http_response_503, "exception: exception " + e.tostring()); } { httpget.abort(); } system.out.println("dogetrequest > json: " + json); return json; } i'm getting exception : exception android.os.networkonmainthreadexception","code":"503" on line : httpclient httpclient = new defaulthttpclient();
can me resolve error?
thanks
look @ documentation. basically, need launch asynctask (for instance) , in it, invoke method.
from second link:
private class downloadfilestask extends asynctask<url, integer, long> { protected long doinbackground(url... urls) { int count = urls.length; long totalsize = 0; (int = 0; < count; i++) { totalsize += downloader.downloadfile(urls[i]); publishprogress((int) ((i / (float) count) * 100)); // escape if cancel() called if (iscancelled()) break; } return totalsize; } protected void onprogressupdate(integer... progress) { setprogresspercent(progress[0]); } protected void onpostexecute(long result) { showdialog("downloaded " + result + " bytes"); } } once created, task executed simply:
new downloadfilestask().execute(url1, url2, url3); in case, of course, need call dogetrequest instead of downloader.downloadfile(urls[i])
Comments
Post a Comment