android post请求接口,android post请求接口demo

本文介绍了如何在Android应用中使用HTTP POST方法向指定接口发送登录请求,并解析响应数据。通过实例展示了如何创建线程、设置请求头、构造参数和处理响应。适合初学者学习Android网络请求的基本操作。
摘要由CSDN通过智能技术生成

本文实例为大家分享了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

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"/>

android:id="@+id/loginbtn"

android:layout_width="match_parent"

android:layout_height="wrap_content"

android:text="登陆认证"

/>

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持萬仟网。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值