android-volley-manager Android Volley 纯 HttpURLCon开源项目

我要开发同款
匿名用户2014年07月25日
148阅读

技术信息

开源地址
https://github.com/panxw/android-volley-manager
授权协议
GPL

作品详情

一、说明

AdroidetworkmaagerbasedoAdroidVolley,JSON,XML,Map,RequestMap(withfile)support.AdroidVolley,AdroidVolley核心库及扩展工程。AdroidVolleySample,网络请求工具示例工程。Release,AdroidVolleyjar包。

二、Volley基本处理流程

1、应用初始化Volley。2、Volley创建一个RequestQueue、NetworkDispatcher组及Network。3、RequestQueue即一个Request队列,RequestQueue会创建一个ExecutorDelivery。4、NetworkDispatcher实质是Thread,从RequestQueue中取Request,通过Network加以执行。5、Network负责网络请求处理,具体过程交给HttpStack处理。6、HttpStack分HttpURLCoectio(SDK_INT>=9)与HttpCliet与两种方式。7、ExecutorDelivery负责处理请求结果,并与主线程进行交互。8、Volley在上述2-7的基础上增加了Cache等附加处理环节。

三、网络请求工具

在AdroidVolley基础上扩展了com.adroid.http包,增加了ByteArrayRequest及RequestMaager,方便JSON、XML、Map()、及RequestMap()的网络请求。

1.初始化RequestMaager

public class VolleyApplicatio exteds Applicatio {    @Override    public void oCreate() {        super.oCreate();        RequestMaager.getIstace().iit(this);//初始化工具    }    @Override    public void oTermiate() {        super.oTermiate();    }}

 

2.使用RequestMaager

 

publicclassMaiActivityextedsActivity{privatestaticfialStrigOUT_FILE="upload.txt";privatestaticfialStrigOUT_DATA="sadf464764sdf3ds1f3adsf789213557r12-34912-482130487321gjsaldfalfu2390q3rtheslafkhsdafhreasof";privatestaticfialStrigPOST_URL="https://allthelucky.ap01.aws.af.cm/memoServer";privatestaticfialStrigPOST_JSON="{\"actio\":\"test\",\"ifo\":\"helloworld\"}";privatestaticfialStrigGET_URL="https://raw.githubusercotet.com/paxw/adroid-volley-maager/master/test.txt";privatestaticfialStrigUPLOAD_URL="https://www.splashpadmobile.com/upload.php";privateLoadCotrolermLoadCotroler=ull;privateImageViewmImageView;@OverrideprotectedvoidoCreate(BudlesavedIstaceState){super.oCreate(savedIstaceState);setCotetView(R.layout.activity_mai);this.mImageView=(ImageView)fidViewById(R.id.imageView1);this.testPost();this.testGet();this.testFileUpload();this.testImageLoader();}privatevoidtestPost(){mLoadCotroler=RequestMaager.getIstace().post(POST_URL,POST_JSON,requestListeer,0);}privatevoidtestGet(){mLoadCotroler=RequestMaager.getIstace().get(GET_URL,requestListeer,1);}privatevoidtestFileUpload(){MaiActivity.prepareFile(this);RequestMapparams=ewRequestMap();FileuploadFile=ewFile(this.getFilesDir(),OUT_FILE);params.put("uploadedfile",uploadFile);params.put("share","1");mLoadCotroler=RequestMaager.getIstace().post(UPLOAD_URL,params,requestListeer,2);}privatevoidtestImageLoader(){NetworkApplicatio.getImageLoader().get("https://www.baidu.com/img/bdlogo.pg",ewImageListeer(){@OverridepublicvoidoErrorRespose(VolleyErrorerror){System.out.pritl("ImageoErrorRespose");}@OverridepublicvoidoRespose(ImageCotaierrespose,booleaisImmediate){System.out.pritl("ImageoRespose");if(respose!=ull&&respose.getBitmap()!=ull){mImageView.setImageBitmap(respose.getBitmap());}}});}privateRequestListeerrequestListeer=ewRequestListeer(){@OverridepublicvoidoSuccess(Strigrespose,Strigurl,itactioId){System.out.pritl("actioId:"+actioId+",OSucess!\"+respose);}@OverridepublicvoidoError(StrigerrorMsg,Strigurl,itactioId){System.out.pritl("actioId:"+actioId+",oError!\"+errorMsg);}@OverridepublicvoidoRequest(){System.out.pritl("requestsed...");}};@OverridepublicvoidoBackPressed(){super.oBackPressed();if(mLoadCotroler!=ull){mLoadCotroler.cacel();}}privatestaticvoidprepareFile(Cotextcotext){FileOutputStreamfos=ull;try{fos=cotext.opeFileOutput(OUT_FILE,Cotext.MODE_PRIVATE);try{fos.write(OUT_DATA.getBytes());}catch(IOExceptioe){e.pritStackTrace();}}catch(FileNotFoudExceptioe){e.pritStackTrace();}fially{if(fos!=ull){try{fos.close();}catch(IOExceptioe){e.pritStackTrace();}}}}}

功能介绍

一、说明 Android network manager based on Android Volley, JSON, XML, Map, RequestMap(with file) suppo...

声明:本文仅代表作者观点,不代表本站立场。如果侵犯到您的合法权益,请联系我们删除侵权资源!如果遇到资源链接失效,请您通过评论或工单的方式通知管理员。未经允许,不得转载,本站所有资源文章禁止商业使用运营!
下载安装【程序员客栈】APP
实时对接需求、及时收发消息、丰富的开放项目需求、随时随地查看项目状态

评论