package com.example.get;import java.io.ByteArrayOutputStream;import java.io.InputStream;import java.io.InputStreamReader;import java.io.OutputStream;import java.io.PrintWriter;import java.io.Reader;import java.net.HttpURLConnection;import java.net.MalformedURLException;import java.net.URL;import java.net.URLEncoder;import android.app.Activity;import android.os.Bundle;import android.os.Handler;import android.os.Message;import android.view.View;import android.widget.EditText;import android.widget.Toast;public class MainActivity extends Activity {    Handler handler = new Handler() {        public void handleMessage(android.os.Message msg) {            if (msg.what == 0) {                Toast.makeText(MainActivity.this, "服务器异常", 0).show();            } else if (msg.what == 1) {                Toast.makeText(MainActivity.this, msg.obj.toString(), 0).show();            }        };    };    private String password;    private String name;    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_main);    }    public void doLogin(View v) {        EditText etName = (EditText) findViewById(R.id.et_name);        EditText etPwd = (EditText) findViewById(R.id.et_password);        name = etName.getText().toString();        password = etPwd.getText().toString();        fetch();    }    public void doLoginForPost(View v) {        EditText etName = (EditText) findViewById(R.id.et_name);        EditText etPwd = (EditText) findViewById(R.id.et_password);        name = etName.getText().toString();        password = etPwd.getText().toString();        fetchPost();    }    public void fetch() {        Thread t = new Thread() {            @Override            public void run() {                super.run();                String path = "http://192.168.1.105:8080/android/AndroidServlet?username="                        + URLEncoder.encode(name)                        + "&password="                        + URLEncoder.encode(password);                try {                    URL url = new URL(path);                    HttpURLConnection conn = (HttpURLConnection) url                            .openConnection();                    conn.setRequestMethod("GET");                    conn.setReadTimeout(5000);                    conn.setConnectTimeout(5000);                    if (conn.getResponseCode() == 200) {                        InputStream is = conn.getInputStream();                        byte[] b = new byte[1024];                        int len = 0;                        // 创建字节数组输出流,读取输入流的文本数据时,同步把数据写入数组输出流                        ByteArrayOutputStream bos = new ByteArrayOutputStream();                        while ((len = is.read(b)) != -1) {                            bos.write(b, 0, len);                        }                        // 把字节数组输出流的数据转换成字节数组                        String text = new String(bos.toByteArray(), "utf-8");                        Message msg = new Message();                        msg.what = 1;                        msg.obj = text;                        handler.sendMessage(msg);                    } else {                        handler.sendEmptyMessage(0);                    }                } catch (Exception e) {                    e.printStackTrace();                }            }        };        t.start();    }    public void fetchPost() {        Thread t = new Thread() {            @Override            public void run() {                super.run();                String path = "http://192.168.1.105:8080/android/AndroidServlet";                try {                    URL url = new URL(path);                    HttpURLConnection conn = (HttpURLConnection) url                            .openConnection();                    conn.setRequestMethod("POST");                    conn.setReadTimeout(5000);                    conn.setConnectTimeout(5000);                    String params = "username=" + URLEncoder.encode(name)                            + "&password=" + URLEncoder.encode(password);                    conn.setRequestProperty("Content-Type",                            "application/x-www-form-urlencoded");                    conn.setRequestProperty("Content-Length", params.length()                            + "");                    // 设置打开输出流                    conn.setDoOutput(true);                    // 拿到输出流                    OutputStream os = conn.getOutputStream();                    os.write(params.getBytes());                    os.flush();                    if (conn.getResponseCode() == 200) {                        InputStream is = conn.getInputStream();                        byte[] b = new byte[1024];                        int len = 0;                        // 创建字节数组输出流,读取输入流的文本数据时,同步把数据写入数组输出流                        ByteArrayOutputStream bos = new ByteArrayOutputStream();                        while ((len = is.read(b)) != -1) {                            bos.write(b, 0, len);                        }                        // 把字节数组输出流的数据转换成字节数组                        String text = new String(bos.toByteArray(), "utf-8");                        Message msg = new Message();                        msg.what = 1;                        msg.obj = text;                        handler.sendMessage(msg);                    } else {                        handler.sendEmptyMessage(0);                    }                } catch (Exception e) {                    e.printStackTrace();                }            }        };        t.start();    }}

更多相关文章

  1. SharePreference封装使用
  2. Android(安卓)UI控件-Spinner(下拉列表)
  3. Android轮播广告条NoticeView
  4. listview使用ArrayAdapter显示文字
  5. android生成二维码
  6. android App流量统计
  7. [RK3399][Android7.1] 调试笔记 --- JNI层输出带TAG的Log
  8. Android(安卓)SimpleArrayMap源码解析
  9. Android(安卓)MIFARE读写器详解2

随机推荐

  1. 数据结构与算法专题——第四题 字符串相
  2. C#中调用python
  3. HashSet扩容机制在时间和空间上的浪费,远
  4. C#数据库操作类
  5. C#中使用opencv处理图像
  6. 数据结构与算法专题——第五题 并查集
  7. "Emgu.CV.CvInvoke”的类型初始值设定项
  8. 对 JsonConvert 的认识太肤浅了,终于还是
  9. C# EmguCV图像处理实例
  10. 数据结构与算法专题——第六题 树状数组