xutil3.5的使用

xutils的使用

http://blog.csdn.net/u010663758/article/details/51296248

Get请求

1.   RequestParams params = new RequestParams("https://www.baidu.com/"); // 网址(请替换成实际的网址)  

2.           params.addQueryStringParameter("key""value"); // 参数(请替换成实际的参数与值)  

3.             

4.           x.http().get(params, new CommonCallback<String>() {  

5.     

6.               @Override  

7.               public void onCancelled(CancelledException arg0) {  

8.                     

9.               }  

10.    

11.              // 注意:如果是自己onSuccess回调方法里写了一些导致程序崩溃的代码,也会回调道该方法,因此可以用以下方法区分是网络错误还是其他错误  

12.              // 还有一点,网络超时也会也报成其他错误,还需具体打印出错误内容比较容易跟踪查看  

13.              @Override  

14.              public void onError(Throwable ex, boolean isOnCallback) {  

15.                    

16.                  Toast.makeText(x.app(), ex.getMessage(), Toast.LENGTH_LONG).show();  

17.                  if (ex instanceof HttpException) { // 网络错误  

18.                      HttpException httpEx = (HttpException) ex;  

19.                      int responseCode = httpEx.getCode();  

20.                      String responseMsg = httpEx.getMessage();  

21.                      String errorResult = httpEx.getResult();  

22.                      // ...  

23.                  } else { // 其他错误  

24.                      // ...  

25.                  }  

26.                    

27.              }  

28.    

29.              // 不管成功或者失败最后都会回调该接口  

30.              @Override  

31.              public void onFinished() {    

32.                    

33.              }  

34.    

35.              @Override  

36.              public void onSuccess(String arg0) {  

37.                    

38.              }  

39.          });  

Post请求

1.     params.addBodyParameter("key""value");    // 参数(请替换成实际的参数与值)  

2.            

3.          x.http().post(params, new CommonCallback<String>() {  

4.    

5.              @Override  

6.              public void onCancelled(CancelledException arg0) {  

7.                    

8.              }  

9.    

10.              // 注意:如果是自己onSuccess回调方法里写了一些导致程序崩溃的代码,也会回调道该方法,因此可以用以下方法区分是网络错误还是其他错误  

11.              // 还有一点,网络超时也会也报成其他错误,还需具体打印出错误内容比较容易跟踪查看  

12.              @Override  

13.              public void onError(Throwable ex, boolean isOnCallback) {  

14.                    

15.                  Toast.makeText(x.app(), ex.getMessage(), Toast.LENGTH_LONG).show();  

16.                  if (ex instanceof HttpException) { // 网络错误  

17.                      HttpException httpEx = (HttpException) ex;  

18.                      int responseCode = httpEx.getCode();  

19.                      String responseMsg = httpEx.getMessage();  

20.                      String errorResult = httpEx.getResult();  

21.                      // ...  

22.                  } else { // 其他错误  

23.                      // ...  

24.                  }  

25.                    

26.              }  

27.    

28.              // 不管成功或者失败最后都会回调该接口  

29.              @Override  

30.              public void onFinished() {    

31.                    

32.              }  

33.    

34.              @Override  

35.              public void onSuccess(String arg0) {  

36.                    

37.              }  

38.          });  

get的post的请求基本一致,也就添加参数的方法不同而已。调用get方法,添加参数是用addQueryStringParameter。调用post方法,添加参数是用addBodyParameter

传file异常时的处理方法;

http://www.jb51.net/article/98037.htm

//要传递给服务器的json格式参数

JSONObject json = new JSONObject();

  try {

   json.put("devId", id);

   json.put("devName", devName);

   json.put("keyWord", keyWord);

  } catch (JSONException e) {

   e.printStackTrace();

  }

  //构建RequestParams对象,传入请求的服务器地址URL

  RequestParams params = new RequestParams(Constants.UPLOAD_FILE);

  params.setAsJsonContent(true);

  List<KeyValue> list = new ArrayList<>();

  list.add(new KeyValue("file",new File(filePah)));

  list.add(new KeyValue("parameters",json.toString()));

  MultipartBody body = new MultipartBody(list,"UTF-8");

  params.setRequestBody(body);

  x.http().post(params, new org.xutils.common.Callback.CommonCallback<String>(){

   @Override

   public void onSuccess(String result) {

    LogUtil.e("请求结果:" + result);

   }

 

   @Override

   public void onFinished() {

    //上传完成

   }

 

   @Override

   public void onCancelled(CancelledException cex) {

   //取消上传

   }

 

   @Override

   public void onError(Throwable ex, boolean isOnCallback) {

   //上传失败

    LogUtil.e("请求失败:" + ex.toString());

 

   }

  });

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值