MainActivity.java
代码如下 | 复制代码 |
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;
publicclassMainActivityextendsActivity { publicButton loginBtn; publicTextView loginUserName; publicTextView loginPassword; publicstaticString API="http://mail.sina.net/loginxxx"; publicLoginHandler loginHandler; @Override protectedvoidonCreate(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() { @Override publicvoidonClick(View arg0) { //开启新线程 Thread loginThread=newThread(newLoginRunable()); loginThread.start(); } }); loginHandler=newLoginHandler(); } //实现Runable接口,开启新线程 classLoginRunableimplementsRunnable{ @Override publicvoidrun() { 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 =newbyte[1024]; intlength=0; StringBuilder sb=newStringBuilder(); while((length=ins.read(buffer))!=-1){ sb.append(newString(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 classLoginHandlerextendsHandler{ @Override publicvoidhandleMessage(Message msg) { String loginResponse=(String) msg.obj; System.out.println(loginResponse); Toast.makeText(MainActivity.this, loginResponse,10).show(); Intent intent=newIntent(MainActivity.this, MailIndexActivity.class); //startActivity(intent); } } } |
main_activity.xml
代码如下 | 复制代码 |
xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" tools:context="${relativePackage}.${activityClass}"> android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="用户名"/> android:hint="请输入用户名" android:layout_width="match_parent" android:layout_height="wrap_content" android:id="@+id/loginUsername" android:text="shihan@appdev.sinanet.com" /> android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="密码"/> android:hint="请输入密码" android:layout_width="match_parent" android:layout_height="wrap_content" android:id="@+id/loginPassword" android:text="xxxxxxx"/> |