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>

 

全部评论

相关推荐

秋招进行到现在终于能写总结了。完全没想到战线会拉这么长,过程会如此狼狈,不过更应该怪自己太菜了。好在所有的运气都用在了最后,也是有个去处。背景:双2本硕科班,无竞赛,本科一段研究所实习,硕士一段大厂暑期实习但无转正。技术栈是C++&nbsp;&amp;&nbsp;Golang,实习是客户端音视频(而且是鸿蒙端开发),简历两个C++项目一个Golang项目。主要投递岗位:后端,cpp软开,游戏服务端,测开,以及一些不拘泥于Java的岗位。从8月起总共投递123家公司,笔试数不清了,约面大约30家。offer/oc/意向:友塔游戏(第一个offer,面试体验很好,就是给钱好少南瑞继保(计算机科班点击就送(限男生),不...
乡土丁真真:佬很厉害,羡慕~虽然我还没有到校招的时候,也想讲一下自己的看法:我觉得不是CPP的问题,佬的背书双2,技术栈加了GO,有两段实习。投了123,面了30.拿到11个offer。这个数据已经很耀眼了。这不也是CPP带来的吗?当然也不止是CPP。至少来说在这个方向努力过的也会有好的结果和选择。同等学历和项目选java就会有更好的吗?我个人持疑问态度。当然CPP在方向选择上确实让人头大,但是我觉得能上岸,至于最后做什么方向,在我看来并不重要。至于CPP特殊,有岗位方向的随机性,java不是不挑方向,只是没得选而已。也希望自己以后校招的时候能offer满满
点赞 评论 收藏
分享
10-15 09:13
已编辑
天津大学 soc前端设计
点赞 评论 收藏
分享
评论
点赞
收藏
分享
牛客网
牛客企业服务