httpclient_get_post

来源:互联网 发布:js点击按钮让日期增加 编辑:程序博客网 时间:2024/06/03 18:53
package com.example.a03_httpclient_get_post;import android.os.Bundle;import android.os.Handler;import android.os.Message;import android.support.v7.app.AppCompatActivity;import android.view.View;import android.widget.EditText;import android.widget.Toast;import org.apache.http.HttpResponse;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.impl.client.DefaultHttpClient;import org.apache.http.message.BasicNameValuePair;import java.io.BufferedReader;import java.io.InputStream;import java.io.InputStreamReader;import java.util.ArrayList;import java.util.List;public class MainActivity extends AppCompatActivity {    private EditText et1;    private EditText et2;    private Handler handler = new Handler() {        @Override        public void handleMessage(Message msg) {            if (msg.what == 0) {                Toast.makeText(MainActivity.this, (String) msg.obj, Toast.LENGTH_SHORT).show();            }        }    };    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_main);        et1 = (EditText) findViewById(R.id.et1);        et2 = (EditText) findViewById(R.id.et2);    }    public void getLogin(View view) {        getLogin();    }    public void postLogin(View view) {        postLogin();    }    private void getLogin() {        new Thread() {            @Override            public void run() {                try {                    HttpClient client = new DefaultHttpClient();                    String postPath = "http://192.168.43.146:8080/ServletDemo0402/login";                    HttpPost httpPost = new HttpPost(postPath);                    List<BasicNameValuePair> params = new ArrayList<BasicNameValuePair>();                    params.add(new BasicNameValuePair("username", et1.getText().toString()));                    params.add(new BasicNameValuePair("username", et2.getText().toString()));                    UrlEncodedFormEntity entity = new UrlEncodedFormEntity(params, "utf-8");                    httpPost.setEntity(entity);                    HttpResponse response = client.execute(httpPost);                    int statusCode = response.getStatusLine().getStatusCode();                    if (statusCode == 200) {                        InputStream inputStream = response.getEntity().getContent();                        String s = streamTostring(inputStream, "utf-8");                        Message message = Message.obtain();                        message.what = 0;                        message.obj = s;                        handler.sendMessage(message);                    }                } catch (Exception e) {                    e.printStackTrace();                }            }        }.start();    }    private void postLogin() {        new Thread() {            @Override            public void run() {                try {                    HttpClient client = new DefaultHttpClient();                    String path = "http://192.168.43.146:8080/ServletDemo0402/login?username=" + et1.getText().toString() + "&password=" + et2.getText().toString();                    HttpGet httpGet = new HttpGet(path);                    HttpResponse response = client.execute(httpGet);                    int statusCode = response.getStatusLine().getStatusCode();                    if (statusCode == 200) {                        InputStream inputStream = response.getEntity().getContent();                        String s = streamTostring(inputStream, "utf-8");                        Message message = Message.obtain();                        message.what = 0;                        message.obj = s;                        handler.sendMessage(message);                    }                } catch (Exception e) {                    e.printStackTrace();                }            }        }.start();    }    private String streamTostring(InputStream inputStream, String check) {        try {            InputStreamReader inputStreamReader = new InputStreamReader(inputStream, check);            BufferedReader bufferedReader = new BufferedReader(inputStreamReader);            String s = null;            StringBuilder builder = new StringBuilder();            while ((s = bufferedReader.readLine()) != null) {                builder.append(s);            }            bufferedReader.close();            ;            return builder.toString();        } catch (Exception e) {            e.printStackTrace();        }        return null;    }}