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(); } }
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
<?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>