Android教程網
  1. 首頁
  2. Android 技術
  3. Android 手機
  4. Android 系統教程
  5. Android 游戲
 Android教程網 >> Android技術 >> Android開發 >> 關於android開發 >> [android] post請求接口demo測試代碼,androiddemo

[android] post請求接口demo測試代碼,androiddemo

編輯:關於android開發

[android] post請求接口demo測試代碼,androiddemo


MainActivity.java

package com.tsh.test;

import java.io.InputStream;
import java.io.OutputStream;
import java.io.PrintWriter;
import java.net.HttpURLConnection;
import java.net.URL;

import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.os.Handler;
import android.os.Message;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.TextView;
import android.widget.Toast;

public class MainActivity extends Activity {
    public Button loginBtn;
    public TextView loginUserName;
    public TextView loginPassword;
    public static String API="http://mail.sina.net/loginxxx";
    public LoginHandler loginHandler;
    @Override
    protected void onCreate(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(new OnClickListener() {
            @Override
            public void onClick(View arg0) {
                //開啟新線程
                Thread loginThread=new Thread(new LoginRunable());
                loginThread.start();
            }
        });
        loginHandler=new LoginHandler();
    }
    //實現Runable接口,開啟新線程
    class LoginRunable implements Runnable{
        @Override
        public void run() {
            try {
                URL url=new URL(API);
                HttpURLConnection http=(HttpURLConnection) url.openConnection();
                http.setRequestMethod("POST");
                http.setDoInput(true);
                http.setDoOutput(true);
                OutputStream ops=http.getOutputStream();
                PrintWriter pw=new PrintWriter(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=new StringBuilder();
                while((length=ins.read(buffer))!=-1){
                    sb.append(new String(buffer,0,length));
                }
                
                Message msg=new Message();
                msg.what=1;
                msg.obj=sb.toString();
                loginHandler.sendMessage(msg);
            } catch (Exception e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
            
        }
    }
    //傳遞消息的handle
    class LoginHandler extends Handler{
        @Override
        public void handleMessage(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);
        }
    }
}

main_activity.xml

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical"
    tools:context="${relativePackage}.${activityClass}" >

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="用戶名" />
    <EditText 
        android:hint="請輸入用戶名"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:id="@+id/loginUsername"
        android:text="[email protected]"
        />
    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="密碼"/>
    <EditText 
        android:hint="請輸入密碼"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:id="@+id/loginPassword"
        android:text="xxxxxxx"/>
    <Button 
        android:id="@+id/loginBtn"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:text="登陸認證"
        />
</LinearLayout>

 

http://www.bkjia.com/Androidjc/1192337.htmlwww.bkjia.comtruehttp://www.bkjia.com/Androidjc/1192337.htmlTechArticle[android] post請求接口demo測試代碼,androiddemo MainActivity.java package com.tsh.test; import java.io.InputStream; import java.io.OutputStream; import java.io.PrintWriter...

  1. 上一頁:
  2. 下一頁:
熱門文章
閱讀排行版
Copyright © Android教程網 All Rights Reserved