博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
[android] post请求接口demo测试代码
阅读量:5967 次
发布时间:2019-06-19

本文共 3340 字,大约阅读时间需要 11 分钟。

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

 

转载于:https://www.cnblogs.com/taoshihan/p/6387535.html

你可能感兴趣的文章
Nsrp实现juniper防火墙的高可用性【HA】!
查看>>
Android 动态移动控件实现
查看>>
oracle11g 安装在rhel5.0笔记
查看>>
解决Lync 2013演示PPT提示证书问题的多种方法
查看>>
VC++动态链接库(DLL)编程(三)――MFC规则DLL
查看>>
[转]经典正则表达式
查看>>
JDBC+Servlet+JSP整合开发之26.JSP内建对象
查看>>
【下载】深入oracle数据库专用虚拟机环境部署方案《VirtualBox+OELR5U7x86_64+Oracle11gR2》...
查看>>
值得推荐的C/C++开源框架和库
查看>>
列式存储
查看>>
Linux下eclipse编译C/C++程序遇到 undefined reference to `pthread_create'的异常解决办法
查看>>
ajax上传图片的本质
查看>>
转]最长递增子序列问题的求解
查看>>
SilverLight:基础控件使用(6)-Slider控件
查看>>
Android写的一个设置图片查看器,可以调整透明度
查看>>
第 5 章 File Share
查看>>
判断字符串解析是JsonObject或者JsonArray
查看>>
[LeetCode] Implement strStr()
查看>>
多模块Struts应用程序的几个问题(及部分解决方法)
查看>>
1.2. MariaDB
查看>>