您的位置:首页 > 其它

xUtils3的二次封装使用

2017-03-30 16:18 323 查看
公共接口类,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";
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐