xUtils3的二次封装使用
2017-03-30 16:18
323 查看
公共接口类,xUtils的封装使用
接口
存放接口的url
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"; } }
相关文章推荐
- jqGrid 使用及二次封装经验
- java十三周封装一个求一元二次方程根的类SquareEquation,要求考虑解方程的异常,再编写一个窗口类EquationFrame。要求窗口使用三个文本框和一个文本区,其中三个文本框用来显示生更
- 毕加索的艺术——Picasso,一个强大的Android图片下载缓存库,OkHttpUtils的使用,二次封装PicassoUtils实现微信精选
- iOS基于MBProgressHUD的二次封装,一行搞定,使用超简单
- OkHttp框架从入门到放弃,解析图片使用Picasso裁剪,二次封装OkHttpUtils,Post提交表单数据
- jqGrid 使用及二次封装经验
- 对图片裁剪框架 ucrop 的二次封装的工具类,添加从图库选择和拍照获取图片,项目中可直接使用,十分便捷
- OkHttp框架从入门到放弃,解析图片使用Picasso裁剪,二次封装OkHttpUtils,Post提交表单数据
- 关于xutils3.0框架的封装以及抽取,方便使用
- 使用第三方库是否应该做二次封装
- JAVA--第十三周任务一封装一个求一元二次方程根的类SquareEquation,要求考虑解方程的异常,再编写一个窗口类EquationFrame。要求窗口使用三个文本框和一个文本区,其中三个文本框
- 二次封装的GCD使用
- Imageloader 使用与二次封装自动缓存
- OkHttp框架从入门到放弃,解析图片使用Picasso裁剪,二次封装OkHttpUtils,Post提交表单数据
- 自己对volley http模块的二次封装的使用
- 使用第三方开源库是否应该做二次封装
- 代码二次封装-xUtils(android)
- Android通知的使用及简单二次封装
- Android 使用Socket实现服务器与手机客户端的长连接六:二次封装
- AlamofireObjectMapper框架的基本使用以及二次封装