xutilsforhttputilsdemo

来源:互联网 发布:致胜轮毂数据 编辑:程序博客网 时间:2024/06/07 16:55
package com.example.xutilsforhttputilsdemo;
import android.support.v7.app.AppCompatActivity;
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 org.apache.http.NameValuePair;
import org.apache.http.message.BasicNameValuePair;
import org.json.JSONObject;
import java.util.ArrayList;
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);


    }

    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);
            }
            @Override
            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) {
                System.out.println("post请求结果 : "+responseInfo.result);
            }
            @Override
            public void onFailure(HttpException e, String s) {
                System.out.println("请求失败");
            }
        });

    }


}
0 0