xUtils3的二次封装使用

公共接口类,xUtils的封装使用

public class Connector {

    //**************下面是xUtils3的请求使用,post方式***********************


    //下面四个根据自己接口文档实际情况替换值
    private static final String CODE_PARAMS= "code"; //返回码参数;
    private static final int SUCCESS = 0;//code返回成功;
    private static final int FAILURE = 1000;
    private static final int OTHER = 2000;


    //使用****************************
    public static void UserLogin(String phone,int code,MyCallback myCallback){
        RequestParams params=new RequestParams(NetInterface.getInstance().userLogin);
        params.addBodyParameter("phone",phone);
        params.addParameter("code",code);//int类型用这种
        xUtilsPostRequest(params,myCallback);
    }


    //调用的请求方式(封装的方法)
    private static void xUtilsPostRequest(final RequestParams params, final MyCallback callback){
        x.http().post(params, new Callback.CacheCallback<String>() {

           //下面四个根据自己接口文档实际情况替换值
            /**
             *
             public static final String CODE_PARAMS = "code"; //返回码参数
             public static final int SUCCESS = 0;//code返回成功;
             public static final int FAILURE = 1000;
             public static final int OTHER = 2000;
             */

            private boolean hasError=false;
            private String result=null;

            @Override
            public void onSuccess(String result) {
                Log.i("成功提示。。。00。。", String.valueOf(params));
                if (result!=null){
                    this.result=result;
                }
            }

            @Override
            public void onError(Throwable ex, boolean isOnCallback) {
                Log.i("错误提示。。。11。。", String.valueOf(params));
                hasError=true;
                ToastUtils.showToastShort(x.app(),"服务器连接异常");
            }

            @Override
            public void onCancelled(CancelledException cex) {
                ToastUtils.showToastShort(x.app(),"cancelled");
            }

            /**
             * 拿到的结果result在这里做相关操作
             */
            @Override
            public void onFinished() {
                Log.i("完成。。。33。。", result);
                if (!hasError&&result!=null){
                    JSONObject jsonObject=null;
                    try {
                        jsonObject=new JSONObject(result);
                        //错误的写法,optInt方法走完:非空会返回真正的code,如果为空会返回0;但是0在这里面可能会有表示意义(比如表示请求成功code=0),所以建议使用getInt;
// int code=jsonObject.optInt("code");//这里是请求结果返回码的key(替换过自己的返回码参数)
                        int code=jsonObject.getInt(CODE_PARAMS);//这里是请求结果返回码的key(替换过自己的返回码参数)
                        if (code==SUCCESS){
                            callback.MyResult(result);
                        }else if (code==FAILURE){
                            ToastUtils.showToastShort(x.app(),"失败");
                        }else if (code==OTHER){
                            ToastUtils.showToastShort(x.app(),"其他");
                        }
                    } catch (JSONException e) {
                        e.printStackTrace();
                    }
                }
            }

            @Override
            public boolean onCache(String result) {
                this.result = result;
                return false;
            }
        });
    }
}

接口

public interface MyCallback {
    //result接受请求回来的数据
    void MyResult(String result);
}

存放接口的url

public class NetInterface {

    public static NetInterface INTERFACE = new NetInterface();

    public static NetInterface getInstance(){
        return NetInterface.INTERFACE;
    }


    public String userLogin;


    public NetInterface() {

        //拼接,公共部分
        String mainurl="http://xxx/url/xxx";

        this.userLogin = mainurl+"/xxx/xxx";
    }
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值