package com.baidu.myloginglx;
import android.annotation.SuppressLint;
import android.content.Intent;
import android.os.Handler;
import android.os.Message;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Toast;
import com.google.gson.Gson;
import java.io.InputStream;
import java.io.OutputStream;
import java.net.HttpURLConnection;
import java.net.MalformedURLException;
import java.net.URL;
import java.net.URLConnection;
import java.net.URLEncoder;
public class MainActivity extends AppCompatActivity {
private Button btn;
private EditText edname;
private EditText edpwd;
String path="http://172.17.8.100/small/user/v1/login";
@SuppressLint("HandlerLeak")
Handler handler = new Handler() {
@Override
public void handleMessage(Message msg) {
super.handleMessage(msg);
UserBean userBeans = (UserBean) msg.obj;
if (userBeans.getStatus().equals("0000")){
Intent intent = new Intent(MainActivity.this,Main2Activity.class);
startActivity(intent);
}else if (userBeans.getStatus().equals("1001")){
Toast.makeText(MainActivity.this, userBeans.getMessage(), Toast.LENGTH_SHORT).show();
}
}
};
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
btn = (Button) findViewById(R.id.dl);
edname = (EditText) findViewById(R.id.name);
edpwd = (EditText) findViewById(R.id.pwd);
btn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
new Thread(){
@Override
public void run() {
super.run();
String name = edname.getText().toString();
String pwd = edpwd.getText().toString();
try {
URL url = new URL(path);
//建立连接
HttpURLConnection urlConnection = (HttpURLConnection) url.openConnection();
//设置方法
urlConnection.setRequestMethod("POST");
//可读
urlConnection.setDoInput(true);
//可写
urlConnection.setDoOutput(true);
//参数拼接
String parmes="phone="+ URLEncoder.encode(name,"UTF-8")+"&pwd="+URLEncoder.encode(pwd,"UTF-8");
OutputStream outputStream = urlConnection.getOutputStream();
//参数写入
outputStream.write(parmes.getBytes());
//刷新
outputStream.flush();
//关闭
outputStream.close();
//得到请求码
int responseCode = urlConnection.getResponseCode();
if (responseCode==200){
InputStream inputStream = urlConnection.getInputStream();
int len=-1;
byte[] bytes = new byte[1024];
StringBuffer stringBuffer = new StringBuffer();
while ((len=inputStream.read(bytes))!=-1){
String s = new String(bytes,0,len);
stringBuffer.append(s);
}
String json = stringBuffer.toString();
Log.e("TAG",json );
Gson gson = new Gson();
UserBean userBean = gson.fromJson(json, UserBean.class);
Message message = new Message();
message.obj=userBean;
handler.sendMessage(message);
}
} catch (Exception e) {
e.printStackTrace();
}
}
}.start();
}
});
}
}
//bean类解析
package com.bawei.myloginglx;
import java.util.List;
public class UserBean {
private String message;
private String status;
private Result result;
public String getMessage() {
return message;
}
public void setMessage(String message) {
this.message = message;
}
public String getStatus() {
return status;
}
public void setStatus(String status) {
this.status = status;
}
public Result getResult() {
return result;
}
public void setResult(Result result) {
this.result = result;
}
class Result {
String phone;
public String getPhone() {
return phone;
}
public void setPhone(String phone) {
this.phone = phone;
}
}
}
//布局
<?xml version="1.0" encoding="utf-8"?>
<EditText
android:layout_marginLeft=“50dp”
android:layout_width="wrap_content"
android:ems="15"
android:id="@+id/pwd"
android:layout_height="wrap_content" />
<Button
android:layout_width="wrap_content"
android:layout_marginLeft="170dp"
android:text="登录"
android:id="@+id/dl"
android:layout_height="wrap_content" />