package com.example.xutilsforhttputilsdemo;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.os.Bundle;
import android.view.View;
import com.lidroid.xutils.HttpUtils;
import com.lidroid.xutils.exception.HttpException;
import com.lidroid.xutils.http.RequestParams;
import com.lidroid.xutils.http.ResponseInfo;
import com.lidroid.xutils.http.callback.RequestCallBack;
import com.lidroid.xutils.http.client.HttpRequest;
import com.lidroid.xutils.exception.HttpException;
import com.lidroid.xutils.http.RequestParams;
import com.lidroid.xutils.http.ResponseInfo;
import com.lidroid.xutils.http.callback.RequestCallBack;
import com.lidroid.xutils.http.client.HttpRequest;
import org.apache.http.NameValuePair;
import org.apache.http.message.BasicNameValuePair;
import org.json.JSONObject;
import org.apache.http.message.BasicNameValuePair;
import org.json.JSONObject;
import java.util.ArrayList;
import java.util.List;
import java.util.List;
配置一个jar包
在在grade中添加
android { useLibrary 'org.apache.http.legacy' }
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
public void btnRequestGet(View v){
httpUtilsForGetRequest("http://apis.juhe.cn/cook/query.php?=a7a42220c5c1c5268be7ba25af764f6c&menu=西红柿炒鸡蛋");
}
public void btnRequestPOST(View v){
httpUtilsForPOSTRequest("http://apis.juhe.cn/cook/query.php");
}
/**
* 使用xUtils中的HttpUtils模块进行GET方式请求
* @param url
*/
private void httpUtilsForGetRequest(String url){
HttpUtils httpUtils = new HttpUtils();
httpUtils.send(HttpRequest.HttpMethod.GET, url, null, new RequestCallBack<String>() {
@Override
public void onSuccess(ResponseInfo<String> responseInfo) {
//请求成功时会回调的方法
//responseInfo.result 得到请求结果
System.out.println("请求成功 : "+responseInfo.result);
httpUtils.send(HttpRequest.HttpMethod.GET, url, null, new RequestCallBack<String>() {
@Override
public void onSuccess(ResponseInfo<String> responseInfo) {
//请求成功时会回调的方法
//responseInfo.result 得到请求结果
System.out.println("请求成功 : "+responseInfo.result);
}
@Override
public void onFailure(HttpException e, String s) {
//请求失败所执行的方法
System.out.println("请求成功失败");
public void onFailure(HttpException e, String s) {
//请求失败所执行的方法
System.out.println("请求成功失败");
}
});
});
}
/**
* 使用xUtils中的HttpUtils模块进行POST方式请求
* @param url
*/
private void httpUtilsForPOSTRequest(String url){
HttpUtils httpUtils = new HttpUtils();
//参数1:请求方式 GET、POST
//参数2:请求地址
//参数3:请求参数
//参数4:请求结果回调
//第一种设置请求参数方式
RequestParams paramters = new RequestParams();
List<NameValuePair> params = new ArrayList<>();
params.add(new BasicNameValuePair("key","a7a42220c5c1c5268be7ba25af764f6c"));
params.add(new BasicNameValuePair("menu","西红柿炒鸡蛋"));
paramters.addBodyParameter(params);
//第二种设置请求参数方式 一个参数一个参数添加
/*paramters.addBodyParameter("key","a7a42220c5c1c5268be7ba25af764f6c");
paramters.addBodyParameter("menu","西红柿炒鸡蛋");*/
httpUtils.send(HttpRequest.HttpMethod.POST, url, paramters, new RequestCallBack<JSONObject>() {
@Override
public void onSuccess(ResponseInfo<JSONObject> responseInfo) {
//第二种设置请求参数方式 一个参数一个参数添加
/*paramters.addBodyParameter("key","a7a42220c5c1c5268be7ba25af764f6c");
paramters.addBodyParameter("menu","西红柿炒鸡蛋");*/
httpUtils.send(HttpRequest.HttpMethod.POST, url, paramters, new RequestCallBack<JSONObject>() {
@Override
public void onSuccess(ResponseInfo<JSONObject> responseInfo) {
System.out.println("post请求结果 : "+responseInfo.result);
}
@Override
public void onFailure(HttpException e, String s) {
System.out.println("请求失败");
}
});
public void onFailure(HttpException e, String s) {
System.out.println("请求失败");
}
});
}
}