当前位置: 首页 > 科技观察

封装Volley框架的部分接口:VolleyAir

时间:2023-03-21 11:27:18 科技观察

简介VolleyAir是基于Google著名开源网络框架Volley的二次封装,吸收了VolleyPlus的一些封装经验,使其更有效地在复杂的数据处理逻辑层进行制作网络请求,让逻辑层的代码更加清爽简洁。之所以选择Volley进行封装,是因为Volley是一个极其高效的网络请求框架,由Google的Android团队开发。在其基础上封装适配后,将更有利于我们的应用开发。使用方法1、根据自己的业务需要,在NetworkMoudle类中自定义请求地址和参数publicTaskHandlearrangeGetNewsList(StringrequestTag,Stringcty,Stringcategory,intpage,introw,Stringtitle){HttpRequestrequest=newHttpRequest(API_URL+"news/getNews");request.addParameter("cty",cty);request.addParameter("类别",category);request.addParameter("page",Integer.toString(page));request.addParameter("row",Integer.toString(row));request.addParameter("title",title);request.setRequestTag(requestTag);returncenter.arrange(request,volleyPostString);}2.根据自己的业务需要,在DataMoudle类中自定义如何解析接收到的网络数据publicIDDataparseNewsList()throwsHttpProcessException{try{JSONObjectjson=tryExtra(JSONObject.class);IDDatadata=newIDData(json.optInt("count",-1),null);JSONArrayarray=json.optJSONArray("data");ArrayListlist=newArrayList(array==null?0:array.length());data.data=list;if(null!=array){NewsListItem;for(inti=0;i4、在View层(Activity、Fragment等)发起请求,并处理结果/***多个可以并发的网络请求,通过每个请求Task的Id在视图层的回调接口处理请求结果*/privatevoidbeginVolley(){TaskHandlehandle_0=networkModule.arrangeGetNewsList("arrangeGetNewsList",null,null,1,10,null);韩dle_0.setId(0);handle_0.setReceiver(this);handle_0.pullTrigger();TaskHandlehandle_1=networkModule.arrangeUploadImg("arrangeUploadImg","path");handle_1.setId(1);handle_1.setReceiver(this);handle_1.pullTrigger();}/***网络请求成功,处理结果*@paramhandle*@paramresult*/@OverridepublicvoidonSucess(TaskHandlehandle,DataModulerresult){switch(handle.id()){case0:if(result.code()==DataModule.CodeSucess){}txt_1.setText(result.toString());break;case1:if(result.code()==DataModule.CodeSucess){}txt_2.setText(result.toString());break;}}/***网络请求异常,处理结果*@paramhandle*@paramerror*/@OverridepublicvoidonError(TaskHandlehandle,Throwableerror){switch(handle.id()){case0:break;case1:break;}}