Android请求接口Post,Get
程序员文章站
2022-04-14 20:59:42
...
1 Post
package com.example.myfirstapp;
import android.content.Intent;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.util.Log;
import org.json.JSONException;
import org.json.JSONObject;
import java.io.BufferedReader;
import java.io.ByteArrayOutputStream;
import java.io.DataOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.OutputStream;
import java.io.OutputStreamWriter;
import java.net.HttpURLConnection;
import java.net.MalformedURLException;
import java.net.URL;
import java.net.URLEncoder;
import java.util.HashMap;
import java.util.Map;
public class MainActivity extends AppCompatActivity {
public static final String EXTRA_MESSAGE = "com.example.myfirstapp.MESSAGE";
private static final String TAG = "Input message";
private Button btn;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Log.v(TAG, "hello");
btn = findViewById(R.id.button2);
btn.setOnClickListener(new View.OnClickListener(){
@Override
public void onClick(View view){
new Thread(new Runnable(){
@Override
public void run(){
String userInfo = sendPost();
}
}).start();
}
});
}
public String sendPost(){
Intent intent = new Intent(this, PostTestActivity.class);
String result = "";
try{
JSONObject body = new JSONObject();
body.put("u_id", "1");
body.put("u_name", "小一");
body.put("u_phone", "13956013120");
String urlPath = "http://192.168.0.168:8090/api/test/facebase/user/search";
URL url = new URL(urlPath);
HttpURLConnection conn = (HttpURLConnection) url.openConnection();
conn.setConnectTimeout(10000);
conn.setDoOutput(true);
conn.setDoInput(true);
conn.setUseCaches(false);
conn.setRequestMethod("POST");
conn.setRequestProperty("Content-Type", "application/json");
String content = String.valueOf(body);
System.out.println("body:"+content);
conn.connect();
OutputStreamWriter out = new OutputStreamWriter(conn.getOutputStream(), "UTF-8");
out.append(content);
out.flush();
out.close();
System.out.println("code: "+conn.getResponseCode());
if(conn.getResponseCode() == HttpURLConnection.HTTP_OK){
InputStreamReader in = new InputStreamReader(conn.getInputStream(), "UTF-8");
BufferedReader bf = new BufferedReader(in);
String receiveData = null;
while((receiveData = bf.readLine()) != null){
result += receiveData+"\n";
}
in.close();
conn.disconnect();
System.out.println("received data: "+result);
}
}catch(JSONException e){
// System.out.println("Error");
e.printStackTrace();
}catch(IOException io){
// System.out.println("Error");
io.printStackTrace();
}
intent.putExtra(EXTRA_MESSAGE, result);
startActivity(intent);
return result;
}
}
2 Get
package com.example.myfirstapp;
import android.content.Intent;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.util.Log;
import org.json.JSONException;
import org.json.JSONObject;
import java.io.BufferedReader;
import java.io.ByteArrayOutputStream;
import java.io.DataOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.OutputStream;
import java.io.OutputStreamWriter;
import java.net.HttpURLConnection;
import java.net.MalformedURLException;
import java.net.URL;
import java.net.URLEncoder;
import java.util.HashMap;
import java.util.Map;
public class MainActivity extends AppCompatActivity {
public static final String EXTRA_MESSAGE = "com.example.myfirstapp.MESSAGE";
private static final String TAG = "Input message";
private Button btn;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Log.v(TAG, "hello");
btn = findViewById(R.id.button2);
btn.setOnClickListener(new View.OnClickListener(){
@Override
public void onClick(View view){
new Thread(new Runnable(){
@Override
public void run(){
getWebInfo();
}
}).start();
}
});
}
private void getWebInfo(){
String urlTest = "https://www.baidu.com";
try{
URL url = new URL(urlTest);
HttpURLConnection conn = (HttpURLConnection) url.openConnection();
InputStream inputStream = conn.getInputStream();
InputStreamReader reader = new InputStreamReader(inputStream, "UTF-8");
BufferedReader bufferedReader = new BufferedReader(reader);
StringBuffer buffer = new StringBuffer();
String temp = null;
while((temp=bufferedReader.readLine()) != null){
buffer.append(temp);
}
bufferedReader.close();
reader.close();
inputStream.close();
Log.e("MAIN", buffer.toString());
}catch(MalformedURLException e){
e.printStackTrace();
}catch (IOException e){
e.printStackTrace();
}
}
}
参考文献
[1]https://blog.csdn.net/lgwdbbws/article/details/79531434
[2]https://blog.csdn.net/wangyu633520/article/details/56840025
[3]https://blog.csdn.net/fgjfj/article/details/79667351