public class MainActivity extends AppCompatActivity { private EditText ed_name,ed_pass; private Button login,zhuce; private LoginDatas loginDatas; private String names; private String passs; private Handler handler=new Handler(){ @Override public void handleMessage(Message msg) { super.handleMessage(msg); //msg.obj的类型是是接口返回类 LoginDatas loginDatas=(LoginDatas) msg.obj; //判断当code==0跳转否则提示 if("0".equals(loginDatas.getCode())){ Intent intent=new Intent(MainActivity.this,LoginActivity.class); startActivity(intent); }else{ Toast.makeText(MainActivity.this,loginDatas.getMsg(), Toast.LENGTH_SHORT).show(); } } }; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); //获取资源ID ed_name=findViewById(R.id.editname); ed_pass=findViewById(R.id.editpass); login=findViewById(R.id.login); zhuce=findViewById(R.id.zhuce); //点击登陆的事件 login.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) {
//线程与handler使用 new Thread(){ @Override public void run() { super.run(); //得到输入框的值 names = ed_name.getText().toString(); passs = ed_pass.getText().toString(); getDatas(); } }.start(); } }); //点击注册的事件 zhuce.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { Intent intent=new Intent(MainActivity.this,ZhuCeActivity.class); startActivity(intent); finish(); } }); } private void getDatas() { try { //接口地址并拼接 URL url=new URL("http://120.27.23.105/user/login?mobile="+names+"&password="+passs); HttpURLConnection urlConnection = (HttpURLConnection) url.openConnection(); urlConnection.setRequestMethod("GET"); urlConnection.setReadTimeout(5000); urlConnection.setConnectTimeout(5000); if(urlConnection.getResponseCode()==200){ InputStream inputStream = urlConnection.getInputStream(); String s = ToStrings(inputStream); Gson gson=new Gson(); LoginDatas datas = gson.fromJson(s, LoginDatas.class); //发送消息 Message message=Message.obtain(); message.obj=datas; handler.sendMessage(message); } } catch (MalformedURLException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } } private String ToStrings(InputStream stream) { ByteArrayOutputStream byteArrayOutputStream=new ByteArrayOutputStream(); int len; byte[] bytes=new byte[1024]; try { while ((len=stream.read(bytes))!=-1){ byteArrayOutputStream.write(bytes,0,len); } } catch (IOException e) { e.printStackTrace(); } return byteArrayOutputStream.toString(); } }