Through yesterday's study of HttpClient, today encapsulates the HttpClient class
The code is as follows:
Package Com.tp.soft.util;import Java.io.bufferedreader;import java.io.ioexception;import Java.io.inputstreamreader;import Java.util.arraylist;import Java.util.list;import Java.util.Map;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.httpclient;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 Org.apache.http.protocol.HTTP; Public classHttputil { Public StaticString Postrequest (String Serverpath, map<string, string>params, String encoding) {List<NameValuePair> Parampair =NewArraylist<namevaluepair>(); if(params!=NULL&&!params. IsEmpty ()) { for(Map.entry<string, string> Entry:params. EntrySet ()) {Parampair.add (NewBasicnamevaluepair (Entry.getkey (), Entry.getvalue ())); } } Try{HttpClient Client=Newdefaulthttpclient (); HttpPost Post=NewHttpPost (Serverpath); Post.setentity (Newurlencodedformentity (Parampair, HTTP. Utf_8)); HttpResponse Response=Client.execute (POST); if(Response.getstatusline (). Getstatuscode () = =HTTPSTATUS.SC_OK) {BufferedReader br=NewBufferedReader (NewInputStreamReader (Response.getentity (). GetContent ())); //DataString Reqdata =NULL; String ResponseData=""; while((Reqdata = Br.readline ())! =NULL) {ResponseData+=Reqdata; } br.close (); returnResponseData; } } Catch(clientprotocolexception e) {e.printstacktrace (); } Catch(IOException e) {e.printstacktrace (); } return "postrequest Error"; }}
Then, by invoking the Httputil class to interact with the server
Package Com.tp.soft.app;import Java.util.arraylist;import java.util.hashmap;import java.util.list;import Java.util.map;import Android.app.activity;import Android.os.bundle;import Android.view.layoutinflater;import Android.view.menu;import Android.view.view;import Android.view.viewgroup;import Android.widget.BaseAdapter;import Android.widget.listview;import Android.widget.textview;import Com.google.gson.gson;import Com.google.gson.reflect.typetoken;import Com.tp.soft.entity.user;import Com.tp.soft.util.HttpUtil; Public classMainactivity extends Activity {PrivateListView Mlistview; PrivateTextView Mcontenttxt; PrivateTextView Mtimetxt; PrivateString Serverpath ="Http://122.226.178.54:8080/uploadApp/LoginServlet"; Private StaticFinal String ENCODING ="Utf-8"; PrivateList<user>userlist; @Overrideprotected voidonCreate (Bundle savedinstancestate) {super.oncreate (savedinstancestate); Setcontentview (R.layout.activity_main); Loadlist (); Mlistview=(ListView) Findviewbyid (r.id.list_id); Mlistview.setadapter (NewBaseadapter () {@Override PublicView GetView (intposition, View Convertview, ViewGroup parent) { if(NULL==Convertview) {Convertview= Layoutinflater. from(Getapplicationcontext ()). Inflate (R.layout.item,NULL); } TextView TextView=(TextView) Convertview.findviewbyid (r.id.contenttxt); Textview.settext (userlist.Get(position). GetUserName ()); returnConvertview; } @Override Public LongGetitemid (intposition) { returnposition; } @Override PublicObject GetItem (intposition) { returnposition; } @Override Public intGetCount () {returnuserlist.size (); } }); } PrivateList<user>loadlist () {Map<string, string>params=NewHashmap<string, string>(); String Data= Httputil.postrequest (Serverpath,params, ENCODING); UserList=NewGson (). Fromjson (Data,NewTypetoken<list<user>>() {}.gettype ()); returnuserlist; } @Override Publicboolean Oncreateoptionsmenu (Menu menu) {getmenuinflater (). Inflate (R.menu.main, menu); return true; }}
The server side uses the servlet
protected voidDoPost (httpservletrequest request, httpservletresponse response) throws Servletexception, IOException {respon Se.setcharacterencoding ("Utf-8"); String uname= Request.getparameter ("uname"); String pwd= Request.getparameter ("pwd"); PrintWriter PW=Response.getwriter (); Gson Gson=NewGsonbuilder (). Create (); List<User> userlist =NewArraylist<user>(); User User=NewUser (); User.setusername ("ZS"); User.setpassword ("1"); Userlist.add (user); User User1=NewUser (); User1.setusername ("Lisi"); User1.setpassword ("2"); Userlist.add (user1); String JSON=Gson.tojson (userlist); Pw.print (JSON); }