java - Entering multiple values into a url post -
working on taking input users edittext
, formatting go url $_get
can save mysql database. of right app store first value in each edittext
fields.
if give me pointer doing wrong sweet!
public class newidea extends activity{ /** called when activity first created. */ private list<edittext> edittextlist = new arraylist<edittext>(); private button button; private edittext idea, des; private object mpassword; @override public void oncreate(bundle savedinstancestate) { super.oncreate(savedinstancestate); setcontentview(r.layout.activity_add_screen); button = (button) findviewbyid(r.id.btncreateidea); idea = (edittext) findviewbyid(r.id.inid); des = (edittext) findviewbyid(r.id.indis); button.setonclicklistener(new onclicklistener() { @override public void onclick(view v) { //stringbuilder params = new stringbuilder(); //for (int = 0; < des.length(); i++ ) { //params.append(des.gettext().tostring());} string musername = idea.gettext().tostring(); string mpassword = des.gettext().tostring(); string answer = null; stringbuilder params = new stringbuilder(mpassword); for(int = 0; < des.gettext().length(); i++) { params.append(des + "%" +i) ; answer = params.tostring(); } trylogin(musername, answer); } }); } protected void trylogin(string idea, string answer) { httpurlconnection connection; outputstreamwriter request = null; url url = null; string response = null; string parameters = "?ideaname="+idea+"&description="+answer; try { url = new url("http://"server"/php/create_idea.php"+ parameters); connection = (httpurlconnection) url.openconnection(); connection.setdooutput(true); connection.setrequestproperty("content-type", "application/x-www-form-urlencoded"); connection.setrequestmethod("get"); request = new outputstreamwriter(connection.getoutputstream()); request.write(parameters); request.flush(); request.close(); string line = parameters; inputstreamreader isr = new inputstreamreader(connection.getinputstream()); bufferedreader reader = new bufferedreader(isr); stringbuilder sb = new stringbuilder(); while ((line = reader.readline()) != null) { sb.append("%" + line); } // response server after login process stored in response variable. response = sb.tostring(); // can perform ui operations here toast.maketext(this,"message server: \n"+ response, 0).show(); isr.close(); reader.close(); } catch(ioexception e) { // error } } }
when working usernames , password, working request never appreciated, appends data url visible publically. recomended use post request. can post data server using method, add data nameavaluepair , add entity post request. on server side can data using
$_post['key']
try method
public static string hitserverpost(string url,list<namevaluepair> namevaluepairs) { defaulthttpclient hc = new defaulthttpclient(); responsehandler<string> res = new basicresponsehandler(); httppost postmethod = new httppost(url); string response = null; try { postmethod.setentity(new urlencodedformentity(namevaluepairs)); } catch (unsupportedencodingexception e) { // todo auto-generated catch block e.printstacktrace(); } try { response = hc.execute(postmethod, res); } catch (clientprotocolexception e) { // todo auto-generated catch block e.printstacktrace(); } catch (ioexception e) { // todo auto-generated catch block e.printstacktrace(); } return response; }
and calling
arraylist<namevaluepair> namevaluepairs = new arraylist<namevaluepair>(2); namevaluepairs.add(new basicnamevaluepair("key1","value1")); namevaluepairs.add(new basicnamevaluepair("key2","value2")); string response = hitserverpost(server_url,namevaluepairs);
Comments
Post a Comment