public void load(View view){final String qq = et_qq.getText().toString().trim();final String pwd = et_pwd.getText().toString().trim();if (TextUtils.isEmpty(qq) || TextUtils.isEmpty(pwd)) { Toast.makeText(MainActivity.this, "qq号或密码为空", 0).show(); return;}final String path = "http://192.168.1.114:8080/qqload/qqload?qq=" + qq+ "&pwd=" + pwd;new Thread() { public void run() {try { URL url = new URL(path); HttpURLConnection conn = (HttpURLConnection) url .openConnection(); conn.setRequestMethod("GET"); conn.setReadTimeout(5000); int code = conn.getResponseCode(); if (code == 200) {InputStream is = conn.getInputStream();String result = StreamTools.ReadStream(is);Message msg = Message.obtain();msg.what = SUCCESS;msg.obj = result;handler.sendMessage(msg); } else {Message msg = Message.obtain();msg.what = ERROR1;handler.sendMessage(msg); }} catch (Exception e) { // TODO Auto-generated catch block e.printStackTrace(); Message msg = Message.obtain(); msg.what = ERROR2; handler.sendMessage(msg);} }}.start(); }普通POST提交方式:
public void load(View view){final String qq = et_qq.getText().toString().trim();final String pwd = et_pwd.getText().toString().trim();if (TextUtils.isEmpty(qq) || TextUtils.isEmpty(pwd)) { Toast.makeText(MainActivity.this, "qq号或密码为空", 0).show(); return;}final String path = "http://192.168.1.114:8080/qqload/qqload";new Thread() { public void run() {try { URL url = new URL(path); HttpURLConnection conn = (HttpURLConnection) url .openConnection(); conn.setRequestMethod("POST"); conn.setReadTimeout(5000); conn.setRequestProperty("Content-Type", "application/x-www-form-urlencoded"); String data = "qq="+URLEncoder.encode(qq,"utf-8")+"&pwd=" + URLEncoder.encode(pwd,"utf-8");conn.setRequestProperty("Content-Length",String.valueOf(data.length())); conn.setDoOutput(true); conn.getOutputStream().write(data.getBytes()); int code = conn.getResponseCode(); if (code == 200) {InputStream is = conn.getInputStream();String result = StreamTools.ReadStream(is);Message msg = Message.obtain();msg.what = SUCCESS;msg.obj = result;handler.sendMessage(msg); } else {Message msg = Message.obtain();msg.what = ERROR1;handler.sendMessage(msg); }} catch (Exception e) { // TODO Auto-generated catch block e.printStackTrace(); Message msg = Message.obtain(); msg.what = ERROR2; handler.sendMessage(msg);} }}.start(); }用httpclien实现get/post提交的只需要一下几个步骤:
HttpClient client = new DefaultHttpClient();
HttpGet httpGet = new HttpGet(path);
HttpResponse response = client.execute(httpGet);
int code = response.getStatusLine().getStatusCode();
InputStream is = response.getEntity().getContent();
public void load(View view){final String qq = et_qq.getText().toString().trim();final String pwd = et_pwd.getText().toString().trim();if (TextUtils.isEmpty(qq) || TextUtils.isEmpty(pwd)) { Toast.makeText(MainActivity.this, "qq号或密码为空", 0).show(); return;}final String path = "http://192.168.1.114:8080/qqload/qqload?qq=" + qq+ "&pwd=" + pwd;new Thread() { public void run() {try { HttpClient client = new DefaultHttpClient(); HttpGet httpget = new HttpGet(path); HttpResponse response = client.execute(httpget); int code = response.getStatusLine().getStatusCode(); if (code == 200) {InputStream is = response.getEntity().getContent();String result = StreamTools.ReadStream(is);Message msg = Message.obtain();msg.what = SUCCESS;msg.obj = result;handler.sendMessage(msg); } else {Message msg = Message.obtain();msg.what = ERROR1;handler.sendMessage(msg); }} catch (Exception e) { // TODO Auto-generated catch block e.printStackTrace(); Message msg = Message.obtain(); msg.what = ERROR2; handler.sendMessage(msg);} }}.start(); }用HttpClient实现POST提交:
public void load(View view){final String qq = et_qq.getText().toString().trim();final String pwd = et_pwd.getText().toString().trim();if (TextUtils.isEmpty(qq) || TextUtils.isEmpty(pwd)) { Toast.makeText(MainActivity.this, "qq号或密码为空", 0).show(); return;}final String path = "http://192.168.1.114:8080/qqload/qqload";new Thread() { public void run() {try { HttpClient client = new DefaultHttpClient(); HttpPost httppost = new HttpPost(path); List<NameValuePair> parameter = new ArrayList(); parameter.add(new BasicNameValuePair("qq", qq)); parameter.add(new BasicNameValuePair("pwd", pwd)); httppost.setEntity(new UrlEncodedFormEntity(parameter,"utf-8")); HttpResponse response = client.execute(httppost); int code = response.getStatusLine().getStatusCode(); if (code == 200) {InputStream is = response.getEntity().getContent();String result = StreamTools.ReadStream(is);Message msg = Message.obtain();msg.what = SUCCESS;msg.obj = result;handler.sendMessage(msg); } else {Message msg = Message.obtain();msg.what = ERROR1;handler.sendMessage(msg); }} catch (Exception e) { // TODO Auto-generated catch block e.printStackTrace(); Message msg = Message.obtain(); msg.what = ERROR2; handler.sendMessage(msg);} }}.start(); }使用开源框架实现get/post提交:
用开源框架实现GET提交:
public void load(View view){final String qq = et_qq.getText().toString().trim();final String pwd = et_pwd.getText().toString().trim();if (TextUtils.isEmpty(qq) || TextUtils.isEmpty(pwd)) { Toast.makeText(MainActivity.this, "qq号或密码为空", 0).show(); return;}final String path = "http://192.168.1.114:8080/qqload/qqload?qq=" + qq+ "&pwd=" + pwd;AsyncHttpClient client = new AsyncHttpClient();client.get(path, new AsyncHttpResponseHandler() {@Override public void onSuccess(int statusCode, Header[] headers, byte[] responseBody) {// TODO Auto-generated method stubtv_result.setText(new String(responseBody)); }@Override public void onFailure(int statusCode, Header[] headers, byte[] responseBody, Throwable error) {// TODO Auto-generated method stubtv_result.setText("错误原因:" + new String(responseBody)); }}); }用开源框架实现POST请求:
public void load(View view){final String qq = et_qq.getText().toString().trim();final String pwd = et_pwd.getText().toString().trim();if (TextUtils.isEmpty(qq) || TextUtils.isEmpty(pwd)) { Toast.makeText(MainActivity.this, "qq号或密码为空", 0).show(); return;}final String path = "http://192.168.1.114:8080/qqload/qqload";AsyncHttpClient client = new AsyncHttpClient();RequestParams params = new RequestParams();params.add("qq", qq);params.add("pwd", pwd);client.post(path,params,new AsyncHttpResponseHandler() {@Override public void onSuccess(int statusCode, Header[] headers, byte[] responseBody) {// TODO Auto-generated method stubtv_result.setText(new String(responseBody)); }@Override public void onFailure(int statusCode, Header[] headers, byte[] responseBody, Throwable error) {// TODO Auto-generated method stubtv_result.setText(new String(responseBody)); }}); }通过以上任何一种方式可以实现的功能是,从安卓手机端提交数据到服务器端,服务器端进行判断,并返回相应的结果。三种方式各有利弊,实现效果相同,在实际的使用过程中可以根据本身的需要进行选择。