java - Volley Post request returns no response inside onResponse -
so wanna print result of response , generates data models using gson, response never gets return yet onresponse called.!
if notice logcat, log.i inside onresponse isn't showing..!? inside onsuccess of activity uses request, shows logs normally, if log contains response object not show weird , doesn't make sense..!?
logcat
i/geturl:: http://1925.232.55/login.php i/getparams:: {username =samy, password=123456} d/libc: [net] android_getaddrinfofornetcontext+,hn 20(0x6),sn(),hints(known),family 0,flags 1024, proc=com... d/libc: [net] android_getaddrinfo_proxy netid:0 d/libc: [net] android_getaddrinfo_proxy-, success i/onsuccess:: check /* log inside activity uses request */ i tried test request using postman same url , params , returns json response normally..?
postman response
{ "status": "success", "user_id": "10", "user_name": "samy", "full_name": "samy samy", "picture": "st_pictures/img_085207.jpg", "level": "1", "school": "ny school", "city": "ny", "class": "6", "age": "22", "teacher": "2", "token": "f808e758sdfsdfsf162dbdfcf88e3dc8a96" } the request code
final requestqueue queue = volley.newrequestqueue(context); final stringrequest sr = new stringrequest(request.method.post, getloginurl(), new response.listener<string>() { @override public void onresponse(string response) { log.i("onresponse: ", response + ""); requestresult.onsuccess(response); }, new response.errorlistener() { @override public void onerrorresponse(volleyerror error) { requestresult.onfail(error); volleylog.e("error: ", error.getmessage()); error.printstacktrace(); } }) { @override protected map<string, string> getparams() { map<string, string> params = new hashmap<string, string>(); params.put("username ", un); params.put("password", pass); log.i( "getparams: ", params.tostring()); return params; } @override public byte[] getbody() throws authfailureerror { log.i( "geturl: ",geturl()); return super.getbody(); } } ; queue.add(sr); update #1
url http://clients.intertech.ps/raz/std.php
e/volley: [1] 2.onerrorresponse: error: w/system.err: com.android.volley.parseerror: org.json.jsonexception: end of input @ character 0 of w/system.err: @ com.android.volley.toolbox.jsonobjectrequest.parsenetworkresponse(jsonobjectrequest.java:73) w/system.err: @ com.android.volley.networkdispatcher.run(networkdispatcher.java:123) w/system.err: caused by: org.json.jsonexception: end of input @ character 0 of w/system.err: @ org.json.jsontokener.syntaxerror(jsontokener.java:449) w/system.err: @ org.json.jsontokener.nextvalue(jsontokener.java:97) w/system.err: @ org.json.jsonobject.<init>(jsonobject.java:156) w/system.err: @ org.json.jsonobject.<init>(jsonobject.java:173) w/system.err: @ com.android.volley.toolbox.jsonobjectrequest.parsenetworkresponse(jsonobjectrequest.java:68) w/system.err: ... 1 more
you have use jsonobjectrequest, :
hashmap<string, string> params = new hashmap<string, string>(); params.put("username","samy"); params.put("password","123456"); jsonobjectrequest req = new jsonobjectrequest(url, new jsonobject(params), new response.listener<jsonobject>() { @override public void onresponse(jsonobject response) { gson gson = new gson(); yourclass yourclass = gson.fromjson(response.tostring(), yourclass.class); } }, new response.errorlistener() { @override public void onerrorresponse(volleyerror error) { //error } });
Comments
Post a Comment