in php, how can get ID from android to send -
i use eclipse write android app , php website. coding of androidshowevent page:
<?php $dbhost = ''; //due security problem, not show $dbuser = ''; //due security problem, not show $dbpass = ''; //due security problem, not show mysql_select_db('u507295856_ems'); mysql_query("set names 'utf8'"); $sql=mysql_query("select * event event_id = '".$_request['eid']."'"); while($row=mysql_fetch_assoc($sql)) $output[]=$row; $json = json_encode($output); print ($json); mysql_close(); ?> coding of androidevent page:
<?php $dbhost = ''; //due security problem, not show $dbuser = ''; //due security problem, not show $dbpass = ''; //due security problem, not show $conn = mysql_connect($dbhost,$dbuser,$dbpass); mysql_select_db('u507295856_ems'); mysql_query("set names 'utf8'"); $sql=mysql_query("select * event order event_startdate desc"); while($row=mysql_fetch_assoc($sql)) $output[]=$row; $json = json_encode($output); print ($json); mysql_close(); ?> in android app, has 1 page use listview display event name. activity name activity_list. in activity_list class can show event name in listview. coding of activity_list:
@override public void oncreate(bundle savedinstancestate) { super.oncreate(savedinstancestate); setcontentview(r.layout.activity_list); settitle("ems"); tvback = (textview) findviewbyid(r.id.tvback); tveng = (textview) findviewbyid(r.id.tveng); tvch = (textview) findviewbyid(r.id.tvch); lstactivity = (listview) findviewbyid(r.id.lstactivity); tvback.setonclicklistener(new onclicklistener() { @override public void onclick(view v) { // todo auto-generated method stub intent = new intent(activity_list.this, emsactivity.class); startactivity(i); } }); tvch.setonclicklistener(new onclicklistener() { @override public void onclick(view v) { // todo auto-generated method stub intent = new intent(activity_list.this, activity_list.class); startactivity(i); } }); loadjsonfromwebasync(); } public void loadjsonfromwebasync() { thread t = new thread() { arraylist<namevaluepair> namevaluepairs = new arraylist<namevaluepair>(); // http post @override public void run() { try { httpclient httpclient = new defaulthttpclient(); httppost httppost = new httppost( "http://www.ems.cixx6.com/androidevent.php"); httppost.setentity(new urlencodedformentity(namevaluepairs)); httpresponse response = httpclient.execute(httppost); httpentity entity = response.getentity(); = entity.getcontent(); // convert response string try { bufferedreader reader = new bufferedreader( new inputstreamreader(is, "utf-8"), 8); sb = new stringbuilder(); sb.append(reader.readline() + "\n"); string line = "0"; while ((line = reader.readline()) != null) { sb.append(line + "\n"); } is.close(); result = sb.tostring(); } catch (exception e) { toast.maketext(getbasecontext(), "change information losed", toast.length_long).show(); } activity_list.this.runonuithread(new runnable() { @override public void run() { // todo auto-generated method stub activity_list.this.parsejsonandrefreshlistview(); } }); } catch (exception e) { toast.maketext(getbasecontext(), "please check internet connection", toast.length_long).show(); } } }; t.run(); } public void parsejsonandrefreshlistview() { // paring data try { jarray = new jsonarray(result); jsonobject json_data = null; (int = 0; < jarray.length(); i++) { json_data = jarray.getjsonobject(i); int eventid = json_data.getint("event_id"); string event_name = json_data.getstring("event_name"); mylist.add(event_name); myeventidlist.add("" + eventid); } arrayadapter<string> adapter = new arrayadapter<string>(this, android.r.layout.simple_list_item_1, mylist); lstactivity.setadapter(adapter); lstactivity.setonitemclicklistener(new onitemclicklistener() { @override public void onitemclick(adapterview<?> arg0, view arg1, int arg2, long arg3) { // todo auto-generated method stub intent = new intent(activity_list.this, activity_detail.class); int selectedid = integer.parseint(myeventidlist.get(arg2)); log.i("test", integer.tostring(selectedid)); i.putextra("id", selectedid); startactivity(i); } }); } catch (jsonexception e1) { e1.printstacktrace(); toast.maketext(getbasecontext(), "can not find information", toast.length_long) .show(); } catch (parseexception e1) { e1.printstacktrace(); } } when user click 1 of event, go activity_detail class watch event detail information. want send selected event id androidshowevent php page. after, connect database select conform event id record display data in activity_detail class. activity_detail page use textview display data. coding of activity_detail :
@override public void oncreate(bundle savedinstancestate) { super.oncreate(savedinstancestate); setcontentview(r.layout.activity_detail); settitle("ems"); tvback = (textview) findviewbyid(r.id.tvback); tveng = (textview) findviewbyid(r.id.tveng); tvch = (textview) findviewbyid(r.id.tvch); tveventname = (textview) findviewbyid(r.id.tveventname); tveventlocationid = (textview) findviewbyid(r.id.tveventlocation); tveventdate = (textview) findviewbyid(r.id.tveventdate); tveventtime = (textview) findviewbyid(r.id.tveventtime); tveventphone = (textview) findviewbyid(r.id.tveventphone); tvspeakername = (textview) findviewbyid(r.id.tvspeakername); tveventcontent = (textview) findviewbyid(r.id.tveventcontent); imgeventbanner = (imageview) findviewbyid(r.id.imgeventbanner); btnfacebook = (button) findviewbyid(r.id.btnfacebook); btntwitter = (button) findviewbyid(r.id.btntwitter); tveventlocationid.setonclicklistener(new onclicklistener() { @override public void onclick(view v) { // todo auto-generated method stub intent = new intent(activity_detail.this, placemap.class); startactivity(i); } }); tvspeakername.setonclicklistener(new onclicklistener() { @override public void onclick(view v) { // todo auto-generated method stub intent = new intent(activity_detail.this, speaker.class); startactivity(i); } }); btnfacebook.setonclicklistener(new onclicklistener() { @override public void onclick(view v) { // todo auto-generated method stub } }); btntwitter.setonclicklistener(new onclicklistener() { @override public void onclick(view v) { // todo auto-generated method stub } }); tvback.setonclicklistener(new onclicklistener() { @override public void onclick(view v) { // todo auto-generated method stub intent = new intent(activity_detail.this, emsactivity.class); startactivity(i); } }); tvch.setonclicklistener(new onclicklistener() { @override public void onclick(view v) { // todo auto-generated method stub intent = new intent(activity_detail.this, activity_detail.class); startactivity(i); } }); eventid = this.getintent().getintextra("id", 0); string event = integer.tostring(eventid); log.i("test", event); list<namevaluepair> params = new arraylist<namevaluepair>(); params.add(new basicnamevaluepair("eid", event)); log.i("test",string.valueof(params)); loadjsonfromwebasync(params); } public void loadjsonfromwebasync(list<namevaluepair> pair) { final list<namevaluepair> _pair = pair; thread t = new thread() { //arraylist<namevaluepair> namevaluepairs = new arraylist<namevaluepair>(); // http post @override public void run() { try { httpclient httpclient = new defaulthttpclient(); httppost httppost = new httppost( "http://www.ems.cixx6.com/androidshowevent.php"); httppost.setentity(new urlencodedformentity(_pair)); httpresponse response = httpclient.execute(httppost); httpentity entity = response.getentity(); = entity.getcontent(); // convert response string try { bufferedreader reader = new bufferedreader( new inputstreamreader(is, "utf-8"), 8); sb = new stringbuilder(); sb.append(reader.readline() + "\n"); string line = "0"; while ((line = reader.readline()) != null) { sb.append(line + "\n"); } is.close(); result = sb.tostring(); } catch (exception e) { toast.maketext(getbasecontext(), "change information losed", toast.length_long).show(); } activity_detail.this.runonuithread(new runnable() { @override public void run() { // todo auto-generated method stub activity_detail.this.parsejsonandrefreshlistview(); } }); } catch (exception e) { toast.maketext(getbasecontext(), "please check internet connection", toast.length_long).show(); } } }; t.run(); } public void parsejsonandrefreshlistview() { // paring data try { jarray = new jsonarray(result); jsonobject json_data = null; (int = 0; < jarray.length(); i++) { json_data = jarray.getjsonobject(i); string event_name = json_data.getstring("event_name"); string event_location = json_data.getstring("event_location"); string event_starttime = json_data.getstring("event_starttime"); string event_endtime = json_data.getstring("event_endtime"); string event_phone = json_data.getstring("event_phone"); string event_startdate = json_data.getstring("event_startdate"); string event_enddate = json_data.getstring("event_enddate"); string event_description = json_data .getstring("event_description"); string event_description2 = event_description.replace("<br>", "\n"); string event_image = json_data.getstring("event_image"); string speaker_name = json_data.getstring("speaker_name"); tveventname.settext(event_name); tveventdate.settext(event_startdate + " 至 " + event_enddate); tveventtime.settext(event_starttime + " 至 " + event_endtime); tveventphone.settext(event_phone); tveventcontent.settext(event_description2); spannablestring contentunderline = new spannablestring( event_location); contentunderline.setspan(new underlinespan(), 0, contentunderline.length(), 0); tveventlocationid.settext(contentunderline); spannablestring contentunderline2 = new spannablestring( speaker_name); contentunderline2.setspan(new underlinespan(), 0, contentunderline2.length(), 0); tvspeakername.settext(contentunderline2); bitmap bitmap = downloadimage("http://www.ems.cixx6.com/" + event_image); imgeventbanner.setimagebitmap(bitmap); } } catch (jsonexception e1) { e1.printstacktrace(); toast.maketext(getbasecontext(), "can not find information", toast.length_long) .show(); } catch (parseexception e1) { e1.printstacktrace(); } } private inputstream openhttpconnection(string urlstring) throws ioexception { inputstream in = null; int response = -1; url url = new url(urlstring); urlconnection conn = url.openconnection(); if (!(conn instanceof httpurlconnection)) toast.maketext(getbasecontext(), "please check internet connection", toast.length_long) .show(); try { httpurlconnection httpconn = (httpurlconnection) conn; httpconn.setallowuserinteraction(false); httpconn.setinstancefollowredirects(true); httpconn.setrequestmethod("get"); httpconn.connect(); response = httpconn.getresponsecode(); if (response == httpurlconnection.http_ok) { in = httpconn.getinputstream(); } } catch (exception ex) { toast.maketext(getbasecontext(), "internet connection losed", toast.length_long) .show(); } return in; } private bitmap downloadimage(string url) { bitmap bitmap = null; inputstream in = null; try { in = openhttpconnection(url); bitmap = bitmapfactory.decodestream(in); in.close(); } catch (ioexception e1) { // todo auto-generated catch block e1.printstacktrace(); } return bitmap; } as result. displayed toast. message "can not find information". other data has not displayed.
i purpose show suitable event data in activity_detail class.how should modify code?
this question make me trouble, please me!!!
error message using e1.printstacktrace(); <-- due reputation has not enough, can not post error message of image.
but php coding has not error??
because suspect andriodshowevent php page can not selected event id in android, therefore, can not display detail information in activity_detail page.
Comments
Post a Comment