• [android] post请求接口demo测试代码


    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="shihan@appdev.sinanet.com"
            />
        <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>
  • 相关阅读:
    Android ANR 知多少
    电源管理
    功耗分析
    手机功耗测试
    Battery Historian
    Android 电量优化
    Android手机功耗
    功耗 Log 抓取要求规范
    Android 手机无法进入系统解决方案
    定屏死机问题操作指南
  • 原文地址:https://www.cnblogs.com/taoshihan/p/6387535.html
Copyright © 2020-2023  润新知