java - Target host must not be null error -
i'm having issue fetching json url android, , have error stated in titles url. have posted relevant code below. if more required, can provide it. @ moment, have provided snippets of code being flagged error.
the error:
04-06 23:13:44.533 20566-20855/edu.appdesign.leaguestats e/androidruntime﹕ fatal exception: asynctask #1 process: edu.appdesign.leaguestats, pid: 20566 java.lang.runtimeexception: error occured while executing doinbackground() @ android.os.asynctask$3.done(asynctask.java) @ java.util.concurrent.futuretask.finishcompletion(futuretask.java:355) @ java.util.concurrent.futuretask.setexception(futuretask.java:222) @ java.util.concurrent.futuretask.run(futuretask.java:242) @ android.os.asynctask$serialexecutor$1.run(asynctask.java) @ java.util.concurrent.threadpoolexecutor.runworker(threadpoolexecutor.java:1112) @ java.util.concurrent.threadpoolexecutor$worker.run(threadpoolexecutor.java:587) @ java.lang.thread.run(thread.java:864) caused by: java.lang.illegalargumentexception: illegal character in query @ index 166: https://prod.api.pvp.net/api/lol/na/v1.4/summoner/by-name/android.widget.edittext%7b41b76038+vfed..cl+.f......+0%2c0-804%2c118+%237f08003d+app%3aid%2fname%7d?api_key=<d96236d2-6ee3-4cfd-afa7-f41bdbc11128> @ java.net.uri.create(uri.java:727) @ org.apache.http.client.methods.httppost.<init>(httppost.java) @ edu.appdesign.leaguestats.jsonparser.getjsonfromurl(jsonparser.java:45) @ edu.appdesign.leaguestats.statsactivity$getstats.doinbackground(statsactivity.java:63) @ edu.appdesign.leaguestats.statsactivity$getstats.doinbackground(statsactivity.java:24) @ android.os.asynctask$2.call(asynctask.java) @ java.util.concurrent.futuretask.run(futuretask.java:237) at android.os.asynctask$serialexecutor$1.run(asynctask.java) at java.util.concurrent.threadpoolexecutor.runworker(threadpoolexecutor.java:1112) at java.util.concurrent.threadpoolexecutor$worker.run(threadpoolexecutor.java:587) at java.lang.thread.run(thread.java:864) 04-06 23:13:44.543 19569-20025/? e/activitymanager﹕ app crashed! process: edu.appdesign.leaguestats
public class statsactivity extends activity {
protected void oncreate(bundle savedinstancestate) { super.oncreate(savedinstancestate); setcontentview(r.layout.stats_activity); getstats stats = new getstats(); stats.execute(); } class getstats extends asynctask<void, void, void> { private string api_key="d96236d2-6ee3-4cfd-afa7-f41bdbc11128"; string region = mainactivity.region; string name = mainactivity.name; string url = null; string encodedname = null; string encodedkey = null; string encodedregion = null; textview textid = (textview) findviewbyid(r.id.id); textview textname = (textview) findviewbyid(r.id.name); textview textprofileiconid = (textview) findviewbyid(r.id.profileiconid); textview textrevisiondate = (textview) findviewbyid(r.id.revisiondate); textview textsummonerlevel = (textview) findviewbyid(r.id.summonerlevel); long jid; string jname; int jprofileiconid; long jrevisiondate; long jsummonerlevel; @override protected void onpreexecute() { super.onpreexecute(); try { encodedname = urlencoder.encode(name, "utf-8"); encodedkey = urlencoder.encode(api_key, "utf-8"); encodedregion = urlencoder.encode(region, "utf-8"); url = "https://prod.api.pvp.net/api/lol/" + encodedregion + "/v1.4/summoner/by-name/" + encodedname + "?api_key=<" + encodedkey + ">"; } catch (unsupportedencodingexception e) { e.printstacktrace(); } } @override protected void doinbackground(void... arg0) { jsonparser jparser = new jsonparser(); jsonobject json = jparser.getjsonfromurl(url); try { jid = json.getlong("id"); jname = json.getstring("dataversion"); jprofileiconid = json.getint("profileiconid"); jrevisiondate = json.getlong("revisiondate"); jsummonerlevel = json.getlong("summonerlevel"); } catch (jsonexception e) { e.printstacktrace(); } return null; } @override protected void onpostexecute(void result) { super.onpostexecute(result); /** * put json data on screen * */ string id = string.valueof(jid); string name = string.valueof(jname); string icon = string.valueof(jprofileiconid); string rev = string.valueof(jrevisiondate); string summlevel = string.valueof(jsummonerlevel); textid.settext(id); textname.settext(name); textprofileiconid.settext(icon); textrevisiondate.settext(rev); textsummonerlevel.settext(summlevel); } } }
Comments
Post a Comment