php - Not getting the response -
i creating application in send parameters web service right running on local host , gives me json response. somehow not working after line httpresponse httpresponse = httpclient.execute(httppost);. can please. ps. webservice working absolutely fine
test_class.java
package com.vitarkasolutions.tracker; import java.io.ioexception; import java.io.inputstream; import java.io.inputstreamreader; import java.io.reader; import java.io.unsupportedencodingexception; import java.util.arraylist; import java.util.list; import org.apache.http.httpentity; import org.apache.http.httpresponse; import org.apache.http.httpstatus; import org.apache.http.namevaluepair; import org.apache.http.client.clientprotocolexception; import org.apache.http.client.entity.urlencodedformentity; import org.apache.http.client.methods.httppost; import org.apache.http.impl.client.defaulthttpclient; import org.apache.http.message.basicnamevaluepair; import android.app.activity; import android.os.asynctask; import android.os.bundle; import android.util.log; import android.view.view; import android.view.view.onclicklistener; import android.widget.button; import com.google.gson.gson; public class test_class extends activity{ final static string url = "http://10.0.2.2/tracker/index.php" ; string xyz =""; string tag ="login"; string name="varun"; string email="varun@gmail.com"; int lat= 10; int lang = 20; int phone_no= 10; @override protected void oncreate(bundle savedinstancestate) { super.oncreate(savedinstancestate); setcontentview(r.layout.test); button btn = (button)findviewbyid(r.id.button1); btn.setonclicklistener(new onclicklistener() { @override public void onclick(view v) { // todo auto-generated method stub registeruser(name, email, tag, phone_no, lat, lang); } }); } @suppresswarnings("unchecked") public void registeruser(string name, string email,string register_tag, int phone_no ,int lat , int lang ) { // building parameters list<namevaluepair> params = new arraylist<namevaluepair>(); params.add(new basicnamevaluepair("tag", register_tag)); params.add(new basicnamevaluepair("name", name)); params.add(new basicnamevaluepair("email", email)); params.add(new basicnamevaluepair("phone_no",string.valueof(phone_no))); params.add(new basicnamevaluepair("lat",string.valueof(lat) )); params.add(new basicnamevaluepair("lang", string.valueof(lang))); try { parsing data = new parsing(); data.execute(params); //asynctask parsing =new parsing().execute(params); } catch (illegalstateexception e) { // todo auto-generated catch block e.printstacktrace(); } } public class parsing extends asynctask<list<? extends namevaluepair>, void, void> { // making http request @override protected void doinbackground(list<? extends namevaluepair>... params) { // todo auto-generated method stub log.e("tag", "parse function called"); try{ // defaulthttpclient defaulthttpclient httpclient = new defaulthttpclient(); httppost httppost = new httppost(url); log.d("tag", "post"); httppost.setentity(new urlencodedformentity(params[0])); log.d("tag", "entity"); httpresponse httpresponse = httpclient.execute(httppost); log.d("tag", "response"); final int statuscode = httpresponse.getstatusline().getstatuscode(); if (statuscode != httpstatus.sc_ok) { log.w(getclass().getsimplename(), "error " + statuscode + " url " + url); log.d("not connected", "connected"); }else{ log.d("connected", "connected"); } log.d("con", "connected"); httpentity httpentity = httpresponse.getentity(); inputstream = httpentity.getcontent(); reader reader = new inputstreamreader(is); log.e("tag2", is.tostring()); gson gson = new gson(); user user = gson.fromjson(reader,user.class); log.e("tag3", "done"); log.e("tag4", user.tostring()); log.e("tag4", user.name); log.d("tag4", user.email); } catch (unsupportedencodingexception e) { e.printstacktrace(); } catch (clientprotocolexception e) { e.printstacktrace(); } catch (ioexception e) { e.printstacktrace(); } return null; } } }
use code sample webservice , download jersey jar , add lib
download using:
https://jersey.java.net/download.html
add jar file using following procedure :-
right click on project--->build path--->configure build path...--->in left side have choose java build path--->libraries--->add external jars--->ok--->ok
hope resolve issue
package com.example.login; import java.io.bufferedreader; import java.io.ioexception; import java.io.inputstream; import java.io.inputstreamreader; import java.util.arraylist; import org.apache.http.httpresponse; import org.apache.http.namevaluepair; import org.apache.http.client.httpclient; import org.apache.http.client.entity.urlencodedformentity; import org.apache.http.client.methods.httpget; import org.apache.http.client.methods.httppost; import org.apache.http.client.methods.httpput; import org.apache.http.impl.client.defaulthttpclient; import org.apache.http.message.basicnamevaluepair; import org.apache.http.params.basichttpparams; import org.apache.http.params.httpconnectionparams; import org.apache.http.params.httpparams; import org.json.jsonexception; import org.json.jsonobject; import android.app.activity; import android.app.alertdialog; import android.app.progressdialog; import android.content.context; import android.content.dialoginterface; import android.content.intent; import android.os.asynctask; import android.os.bundle; import android.util.log; import android.view.view; import android.widget.button; import android.widget.edittext; import android.widget.imageview; import android.widget.toast; import com.example.login.connectiondetector; public class mainactivity extends activity { public edittext uname,pwd; imageview btnlog1; public button btncancel1; public string db_select; string muname; string mpwd; string temp; intent intobj; intent intent = null; boolean isinternetpresent = false; connectiondetector cd; private string service_url = "http://100.2.1.97:8080/database/path"; //private string service_url = "http://10.1.1.138:8080/database/path"; private final string tag = "mainactivity"; @override protected void oncreate(bundle savedinstancestate) { super.oncreate(savedinstancestate); mainactivity.this.setcontentview(r.layout.activity_main); uname=(edittext)findviewbyid(r.id.edittext1); pwd=(edittext)findviewbyid(r.id.edittext2); btnlog1=(imageview)findviewbyid(r.id.login); //btncancel1=(button)findviewbyid(r.id.button2); //service_url=serverurl.url+"/msd"; btnlog1.setonclicklistener(new view.onclicklistener() { @override public void onclick(view v) { muname=uname.gettext().tostring(); mpwd=pwd.gettext().tostring(); // display("login clicked"); if(!muname.equalsignorecase("") && !mpwd.equalsignorecase("")) { cd = new connectiondetector(getapplicationcontext()); isinternetpresent = cd.isconnectingtointernet(); //toast.maketext(mainactivity.this, isinternetpresent, toast.length_long).show(); if(isinternetpresent) { try { validat_user(muname,mpwd); } catch(exception e) { display("network error.\nplease check network settings."); uname.settext(""); pwd.settext(""); } } else { display("no internet connection..."); } } else { display("please enter data in required fields..."); } } }); } public void display(string msg) { toast.maketext(mainactivity.this, msg, toast.length_long).show(); } private void validat_user(string stg1, string stg2) { db_select=stg1; webservicetask wst = new webservicetask(webservicetask.post_task, this, "login in progress..."); wst.addnamevaluepair("emp_id", stg1); wst.addnamevaluepair("emp_pwd", stg2); wst.execute(new string[] { service_url }); } @suppresswarnings("deprecation") public void no_net() { display( "no network connection"); final alertdialog alertdialog = new alertdialog.builder(mainactivity.this).create(); alertdialog.settitle("no internet connection"); alertdialog.setmessage("you don't have internet connection.\nelse please check internet connection settings."); //alertdialog.seticon(r.drawable.error_info); alertdialog.setcancelable(false); alertdialog.setbutton("close", new dialoginterface.onclicklistener() { public void onclick(dialoginterface dialog, int which) { alertdialog.cancel(); mainactivity.this.finish(); system.exit(0); } }); alertdialog.setbutton2("use local database", new dialoginterface.onclicklistener() { public void onclick(dialoginterface dialog, int which) { display( "accessing local database....."); alertdialog.cancel(); } }); alertdialog.show(); } private class webservicetask extends asynctask<string, integer, string> { public static final int post_task = 1; private static final string tag = "webservicetask"; // connection timeout, in milliseconds (waiting connect) private static final int conn_timeout =3000; // socket timeout, in milliseconds (waiting data) private static final int socket_timeout = 5000; private int tasktype = post_task; private context mcontext = null; private string processmessage = "processing..."; private arraylist<namevaluepair> params = new arraylist<namevaluepair>(); private progressdialog pdlg = null; public webservicetask(int tasktype, context mcontext, string processmessage) { this.tasktype = tasktype; this.mcontext = mcontext; this.processmessage = processmessage; } public void addnamevaluepair(string name, string value) { params.add(new basicnamevaluepair(name, value)); } @suppresswarnings("deprecation") private void showprogressdialog() { pdlg = new progressdialog(mcontext); pdlg.setmessage(processmessage); pdlg.setprogressdrawable(mcontext.getwallpaper()); pdlg.setprogressstyle(progressdialog.style_spinner); pdlg.setcancelable(false); pdlg.show(); } @override protected void onpreexecute() { showprogressdialog(); } protected string doinbackground(string... urls) { string url = urls[0].tostring(); string result = ""; httpresponse response = doresponse(url); if (response == null) { return result; } else { try { result = inputstreamtostring(response.getentity().getcontent()); } catch (illegalstateexception e) { log.e(tag, e.getlocalizedmessage(), e); } catch (ioexception e) { log.e(tag, e.getlocalizedmessage(), e); } catch(exception e) { log.e(tag, e.getlocalizedmessage(), e); } } return result; } @override protected void onpostexecute(string response) { handleresponse(response); pdlg.dismiss(); } // establish connection , socket (data retrieval) timeouts private httpparams gethttpparams() { httpparams htpp = new basichttpparams(); httpconnectionparams.setconnectiontimeout(htpp, conn_timeout); httpconnectionparams.setsotimeout(htpp, socket_timeout); return htpp; } private httpresponse doresponse(string url) { // use our connection , data timeouts parameters our // defaulthttpclient httpclient httpclient = new defaulthttpclient(gethttpparams()); httpresponse response = null; try { switch (tasktype) { case post_task: httppost httppost= new httppost(url); httppost.setentity(new urlencodedformentity(params)); response = httpclient.execute(httppost); break; } } catch (exception e) { // display("remote database can not connected.\nplease check network connection."); log.e(tag, e.getlocalizedmessage(), e); return null; } return response; } private string inputstreamtostring(inputstream is) { string line = ""; stringbuilder total = new stringbuilder(); // wrap bufferedreader around inputstream bufferedreader rd = new bufferedreader(new inputstreamreader(is)); try { // read response until end while ((line = rd.readline()) != null) { total.append(line); } } catch (ioexception e) { log.e(tag, e.getlocalizedmessage(), e); } catch(exception e) { log.e(tag, e.getlocalizedmessage(), e); } // return full string return total.tostring(); } } public void handleresponse(string response) { //display("response:"+response); if(!response.equalsignorecase("")) { jsonobject jso; try { jso = new jsonobject(response); string status = jso.getstring("status"); // display("welcome : "+uname); if( status.equalsignorecase("") || status==null || status.equalsignorecase("failed")) { reset(); } else { //display(status); intobj=new intent(mainactivity.this,pdf.class); startactivity(intobj); mainactivity.this.finish(); } } catch (jsonexception e1) { // todo auto-generated catch block log.e(tag, e1.getlocalizedmessage(), e1); } catch(exception e) { log.e(tag, e.getlocalizedmessage(), e); } } else { display("could not able reach server!"); } } public void reset() { display("entered user id / password incorrect.\nplease enter valid user id & password."); pwd.settext(""); uname.settext(""); } }
Comments
Post a Comment