andriod开发--使用Http的Get和Post方式与网络交互通信

  1 package com.example.a350773523.myapplication;
  2 
  3 import android.os.AsyncTask;
  4 import android.support.v7.app.AppCompatActivity;
  5 import android.os.Bundle;
  6 import android.text.TextUtils;
  7 import android.view.View;
  8 import android.widget.Button;
  9 import android.widget.EditText;
 10 import android.widget.Toast;
 11 
 12 import java.io.BufferedReader;
 13 import java.io.BufferedWriter;
 14 import java.io.IOException;
 15 import java.io.InputStream;
 16 import java.io.InputStreamReader;
 17 import java.io.OutputStream;
 18 import java.io.OutputStreamWriter;
 19 import java.net.HttpURLConnection;
 20 import java.net.MalformedURLException;
 21 import java.net.URL;
 22 import java.net.URLConnection;
 23 
 24 public class MainActivity extends AppCompatActivity {
 25 
 26     private Button btnLogin;
 27     private EditText etLoginID;
 28     private String address = "http://10.12.75.3:8080/testServer/api.jsp";
 29     @Override
 30     protected void onCreate(Bundle savedInstanceState) {
 31         super.onCreate(savedInstanceState);
 32         setContentView(R.layout.activity_main);
 33         etLoginID = (EditText) findViewById(R.id.etLoginID);
 34 
 35 
 36         //get方式进行联网交流
 37         /*
 38         findViewById(R.id.btnLogin).setOnClickListener(new View.OnClickListener() {
 39             @Override
 40             public void onClick(View view) {
 41                 if(TextUtils.isEmpty(etLoginID.getText().toString())){
 42                     Toast.makeText(MainActivity.this,"账号不能为空",Toast.LENGTH_LONG).show();
 43                 }
 44                 String LoginID;
 45                 LoginID = etLoginID.getText().toString();
 46                 new AsyncTask<String,Void,Void>(){
 47                     @Override
 48                     protected Void doInBackground(String... strings) {
 49                         try {
 50                             URL url =new URL(strings[0]);
 51                             URLConnection connection = url.openConnection();
 52                             InputStream is = connection.getInputStream();
 53                             InputStreamReader isr = new InputStreamReader(is,"utf-8");
 54                             BufferedReader br = new BufferedReader(isr);
 55                             String line ;
 56                             while((line=br.readLine())!=null){
 57                                 System.out.println(line);
 58                             }
 59                             br.close();
 60                             isr.close();
 61                             is.close();
 62                         } catch (MalformedURLException e) {
 63                             e.printStackTrace();
 64                         } catch (IOException e) {
 65                             e.printStackTrace();
 66                         }
 67                         return null;
 68                     }
 69                 }.execute(address+("?loginID=")+LoginID);
 70             }
 71         });
 72         */
 73 
 74         //POST方法
 75         /*
 76         findViewById(R.id.btnLogin).setOnClickListener(new View.OnClickListener() {
 77             @Override
 78             public void onClick(View view) {
 79                 if(TextUtils.isEmpty(etLoginID.getText().toString())){
 80                     Toast.makeText(MainActivity.this,"账号不能为空",Toast.LENGTH_LONG).show();
 81                 }
 82                 final String LoginID;
 83                 LoginID = etLoginID.getText().toString();
 84                 new AsyncTask<String,Void,Void>(){    //异步任务防止阻塞主线程
 85                     @Override
 86                     protected Void doInBackground(String... strings) {
 87                         try {
 88                             URL url =new URL(strings[0]);
 89                             HttpURLConnection connection = (HttpURLConnection) url.openConnection();
 90 
 91                             connection.setDoOutput(true);
 92                             connection.setRequestMethod("POST");
 93 
 94                             //上传信息
 95                             OutputStreamWriter osw = new OutputStreamWriter(connection.getOutputStream(),"utf-8");
 96                             BufferedWriter bw =new BufferedWriter(osw);
 97                             bw.write(String.format("%s%s", "loginID=", LoginID));
 98                             bw.flush();
 99 
100                             //接受信息
101                             InputStream is = connection.getInputStream();
102                             InputStreamReader isr = new InputStreamReader(is,"utf-8");
103                             BufferedReader br = new BufferedReader(isr);
104                             String line ;
105                             while((line=br.readLine())!=null){
106                                 System.out.println(line);
107                             }
108                             br.close();
109                             isr.close();
110                             is.close();
111                         } catch (MalformedURLException e) {
112                             e.printStackTrace();
113                         } catch (IOException e) {
114                             e.printStackTrace();
115                         }
116                         return null;
117                     }
118                 }.execute(address);
119             }
120         });
121         */
122     }
123 }

xml布局代码

 1 <?xml version="1.0" encoding="utf-8"?>
 2 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
 3     xmlns:app="http://schemas.android.com/apk/res-auto"
 4     xmlns:tools="http://schemas.android.com/tools"
 5     android:gravity="center_horizontal"
 6     android:layout_width="match_parent"
 7     android:layout_height="match_parent"
 8     android:orientation="vertical"
 9     tools:context="com.example.a350773523.myapplication.MainActivity">
10 
11     <LinearLayout
12         android:layout_width="wrap_content"
13         android:layout_height="wrap_content"
14         android:orientation="horizontal">
15 
16         <TextView
17             android:layout_width="wrap_content"
18             android:layout_height="wrap_content"
19             android:text="LoginID" />
20 
21         <EditText
22             android:id="@+id/etLoginID"
23             android:layout_width="200dp"
24             android:layout_height="wrap_content" />
25     </LinearLayout>
26 
27     <Button
28         android:id="@+id/btnLogin"
29         android:layout_width="wrap_content"
30         android:layout_height="wrap_content"
31         android:text="login" />
32 
33 </LinearLayout>

 

posted @ 2017-08-07 10:17  xcantaloupe  阅读(233)  评论(0编辑  收藏  举报