旺仔:post请求方式

package com.example.administrator.test.Fragment.post;

import android.app.ProgressDialog;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.EditText;

import com.example.administrator.test.R;

import java.io.InputStream;
import java.io.OutputStream;
import java.io.StreamCorruptedException;
import java.net.HttpURLConnection;
import java.net.MalformedURLException;
import java.net.URL;

public class TestActivity extends AppCompatActivity {
    EditText et_1;
    String str="";
    ProgressDialog pd;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_test);
        et_1=(EditText)findViewById(R.id.et_1);
    }
    public void bt_1(View v){
         pd=ProgressDialog.show(this,null,"请稍后。。。");
        new Thread(){
            @Override
            public void run() {
                HttpURLConnection huc=null;
                try {
                    //构造URL对象
                    URL url=new URL("http://192.168.3.164:81/index.asp");
                    //得到连接对象HttpURLConnection
                    huc=(HttpURLConnection)url.openConnection();
                    huc.setRequestMethod("POST");
                    huc.setConnectTimeout(3000);
                    huc.setReadTimeout(3000);
                    //连接远程服务器,输出流
                    huc.connect();
                    //得到输出流
                    OutputStream os=huc.getOutputStream();
                    String outstr="name=tom&password=123 ";
                    os.write(outstr.getBytes("UTF-8"));
                    //接受相应报文的状态码
                    int code=huc.getResponseCode();
                    str="";
                    //判断状态码并得到输入数据流处理
                    if (code==200)
                    {
                        InputStream is=huc.getInputStream();
                        byte[] b=new byte[1024];
                        int i=0;
                        while ((i=is.read(b))>0)
                        {
                            str+=new String(b,0,i);
                        }
                        is.close();
                        os.close();
                    }else
                    {
                        str="响应错误啊,错误码是"+code;
                    }
                    //显示结果,不能跨线程啊
                    runOnUiThread(new Runnable() {
                        @Override
                        public void run() {
                            et_1.setText(str);
                        }
                    });

                } catch (Exception e) {
                    e.printStackTrace();
                }finally {
                    //关闭连接和进度对话框,释放资源
                    if (huc!=null)
                    {
                        huc.disconnect();
                    }
                    pd.dismiss();

                }
            }
        }.start();


    }

}
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical"
   >
    <EditText
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:id="@+id/et_1"/>
    <Button
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:onClick="bt_1"
        android:text="post请求"/>

</LinearLayout>
View Code
原文地址:https://www.cnblogs.com/jiang2538406936/p/5715319.html