packagecom.tsh.test;importjava.io.InputStream;importjava.io.OutputStream;importjava.io.PrintWriter;importjava.net.HttpURLConnection;importjava.net.URL;importandroid.app.Activity;importandroid.content.Intent;importandroid.os.Bundle;importandroid.os.Handler;importandroid.os.Message;importandroid.view.View;importandroid.view.View.OnClickListener;importandroid.widget.Button;importandroid.widget.TextView;importandroid.widget.Toast;public class MainActivity extendsActivity {publicButton loginBtn;publicTextView loginUserName;publicTextView loginPassword;public static String API="http://mail.sina.net/loginxxx";publicLoginHandler loginHandler;
@Overrideprotected voidonCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);//获取View对象
loginBtn=(Button) findViewById(R.id.loginBtn);
loginUserName=(TextView) findViewById(R.id.loginUsername);
loginPassword=(TextView) findViewById(R.id.loginPassword);//给View对象设置点击事件
loginBtn.setOnClickListener(newOnClickListener() {
@Overridepublic voidonClick(View arg0) {//开启新线程
Thread loginThread=new Thread(newLoginRunable());
loginThread.start();
}
});
loginHandler=newLoginHandler();
}//实现Runable接口,开启新线程
class LoginRunable implementsRunnable{
@Overridepublic voidrun() {try{
URL url=newURL(API);
HttpURLConnection http=(HttpURLConnection) url.openConnection();
http.setRequestMethod("POST");
http.setDoInput(true);
http.setDoOutput(true);
OutputStream ops=http.getOutputStream();
PrintWriter pw=newPrintWriter(ops);
String username=loginUserName.getText().toString();
String password=loginPassword.getText().toString();
pw.write("email="+username+"&psw="+password+"&loginfrom=app&output=json");
pw.flush();
InputStream ins=http.getInputStream();byte[] buffer = new byte[1024];int length=0;
StringBuilder sb=newStringBuilder();while((length=ins.read(buffer))!=-1){
sb.append(new String(buffer,0,length));
}
Message msg=newMessage();
msg.what=1;
msg.obj=sb.toString();
loginHandler.sendMessage(msg);
}catch(Exception e) {//TODO Auto-generated catch block
e.printStackTrace();
}
}
}//传递消息的handle
class LoginHandler extendsHandler{
@Overridepublic voidhandleMessage(Message msg) {
String loginResponse=(String) msg.obj;
System.out.println(loginResponse);
Toast.makeText(MainActivity.this, loginResponse, 10).show();
Intent intent=new Intent(MainActivity.this, MailIndexActivity.class);//startActivity(intent);
}
}
}