android post請求接口demo
更新時間:2017年02月11日 15:55:15 作者:陶士涵
這篇文章主要為大家詳細介紹了android post請求接口測試代碼,具有一定的參考價值,感興趣的小伙伴們可以參考一下
本文實例為大家分享了android post請求接口demo測試代碼,供大家參考,具體內(nèi)容如下
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();
}
//實現(xiàn)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>
以上就是本文的全部內(nèi)容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。
相關文章
Android編程之自定義AlertDialog(退出提示框)用法實例
這篇文章主要介紹了Android編程之自定義AlertDialog(退出提示框)用法,結合實例形式較為詳細的分析了自定義AlertDialog的頁面布局與功能實現(xiàn)相關技巧,需要的朋友可以參考下2016-01-01
Android 自定義TextView實現(xiàn)滑動解鎖高亮文字
這篇文章主要介紹了Android 自定義TextView實現(xiàn)滑動解鎖高亮文字的相關資料,需要的朋友可以參考下2018-03-03
使用Docker來加速構建Android應用的基本部署思路解析
這篇文章主要介紹了使用Docker來加速構建Android應用的部署思路解析,在服務器中通過Docker鏡像來獲得更高效的開發(fā)和測試流程,需要的朋友可以參考下2016-01-01
FFmpeg Principle學習open_output_file打開輸出文件
這篇文章主要為大家介紹了FFmpeg Principle學習open_output_file打開輸出文件示例解析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2022-10-10

