login与服务器交换数据

来源:互联网 发布:反监听软件 编辑:程序博客网 时间:2024/06/11 12:57
package com.jacky.logintest;import android.content.SharedPreferences;import android.os.Bundle;import android.support.v7.app.AppCompatActivity;import android.text.TextUtils;import android.view.View;import android.widget.CheckBox;import android.widget.EditText;import android.widget.Toast;import java.io.InputStream;import java.net.HttpURLConnection;import java.net.URL;public class MainActivity extends AppCompatActivity {          private EditText ed_name;          private EditText ed_pass;          private CheckBox ck_box;          private SharedPreferences sp;          @Override          protected void onCreate(Bundle savedInstanceState) {                    super.onCreate(savedInstanceState);                    setContentView(R.layout.activity_main);                    ed_name = (EditText) findViewById(R.id.username);                    ed_pass = (EditText) findViewById(R.id.userpassword);                   // ck_box = (CheckBox) findViewById(R.id.checkbox);                   //显示保存的数据          }          public void login(View v) {                    new Thread(){                              @Override                              public void run() {                                        super.run();                                        String name = ed_name.getText().toString().trim();                                        String pass = ed_pass.getText().toString().trim();                                        //组拼用户名和密码                                        String data="username="+name+"&password="+pass;                                        if (TextUtils.isEmpty(name) || TextUtils.isEmpty(pass)) {                                                  Toast.makeText(MainActivity.this, "请输入用户名和密码!", Toast.LENGTH_LONG).show();                                        } else {                                                  try {                                                            //服务器访问的业务逻辑                                                            String path="http://192.168.1.3:8080/login/LoginServlet";                                                            URL url=new URL(path);                                                            HttpURLConnection conn = (HttpURLConnection) url.openConnection();                                                            conn.setRequestMethod("POST");                                                            conn.setReadTimeout(5000);                                                            //通过抓包得知post比get多两个包头信息                                                            conn.setRequestProperty("Content-Type", "application/x-www-form-urlencoded");                                                            conn.setRequestProperty("Content-Length", data.length() + "");                                                            //设置一个标记,允许输出                                                            conn.setDoOutput(true);                                                            conn.getOutputStream().write(data.getBytes());                                                            int code = conn.getResponseCode();                                                            if (code == 200) {                                                                      InputStream in = conn.getInputStream();                                                                      String content = StreamTools.readStream(in);                                                                      showToast(content);                                                            } else {                                                                      showToast("登入失败!");                                                            }                                                  } catch (Exception e) {                                                            e.printStackTrace();                                                  }                                        }                              }                    }.start();          }          private void showToast(final String content) {                    runOnUiThread(new Runnable() {                              @Override                              public void run() {                                        Toast.makeText(getApplicationContext(),content,Toast.LENGTH_LONG).show();                              }                    });          }}

package com.jacky.logintest;import java.io.ByteArrayOutputStream;import java.io.InputStream;/** * 作者:Jacky * 邮箱:550997728@qq.com * 时间:2016/2/2 11:32 */public class StreamTools {          //把一个inputStream装换成一个String          public static String readStream(InputStream in) throws Exception{                    //定义一个内存输出流                    ByteArrayOutputStream baos = new ByteArrayOutputStream();                    int len=-1;                    byte[] buffer=new byte[1024];//1kb                    while ((len=in.read(buffer))!=-1) {                              baos.write(buffer,0,len);                    }                    in.close();                    String content=new String(baos.toByteArray());                    return content;          }}

这里写图片描述

这里写图片描述

这里写图片描述

0 0