-
配置信息
-
当底层使用
okhttp
时,配置如下代码compile 'com.yanzhenjie.nohttp:okhttp:1.1.0'
-
当底层使用
HttpURLConnection
时,配置如下代码compile 'com.yolanda.nohttp:nohttp:1.1.0'
-
-
在application中初始化【在清单文件中队application进行name标签声明】
NoHttp.initialize(this);
-
权限添加
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" /> <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> <uses-permission android:name="android.permission.INTERNET" /> <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
-
使用步骤:
-
1 创建请求队列【建议设置为单例模式,默认线程池为3】
RequestQueue requestQueue = NoHttp.newRequestQueue();
-
2 数据请求:
-
1 字符串类型请求
//创建请求要求 Request<String> stringRequset = NoHttp.createStringRequest("https://www.so.com", RequestMethod.GET); //添加监听结果 OnResponseListener<String> listener = new OnResponseListener<String>() { @Override public void onStart(int what) { } @Override public void onSucceed(int what, Response<String> response) { Log.e(TAG,Thread.currentThread().getName() + "onSucceed: " + response.get()); } @Override public void onFailed(int what, Response<String> response) { } @Override public void onFinish(int what) { } }; //添加任务 queue.add(0,stringRequset,listener);
-
2 加载图片
Request<Bitmap> requeset= NoHttp.createImageRequest("http://p2.so.qhmsg.com/sdr/1365_768_/t01c9a24439f573d6cc.jpg",RequestMethod.GET); OnResponseListener<Bitmap> listener = new OnResponseListener<Bitmap>() { @Override public void onStart(int what) { } @Override public void onSucceed(int what, Response<Bitmap> response) { iv.setImageBitmap(response.get()); } @Override public void onFailed(int what, Response<Bitmap> response) { } @Override public void onFinish(int what) { } }; //设置缓存模式 requeset.setCacheMode(CacheMode.REQUEST_NETWORK_FAILED_READ_CACHE); queue.add(1,requeset,listener);
-
3 下载文件
//单独的一个任务队列 DownloadQueue downQueue = NoHttp.getDownloadQueueInstance(); DownloadRequest request = NoHttp.createDownloadRequest("http://p2.so.qhmsg.com/sdr/1365_768_/t01c9a24439f573d6cc.jpg","/mnt/sdcard/photo",false); DownloadListener listener= new DownloadListener() { @Override public void onDownloadError(int what, Exception exception) { Log.e(TAG, "onDownloadError: " + Thread.currentThread().getName() + exception.getMessage()); } @Override public void onStart(int what, boolean isResume, long rangeSize, Headers responseHeaders, long allCount) { Log.e(TAG, "onStart: "+Thread.currentThread().getName()); } //更新进度 @Override public void onProgress(int what, int progress, long fileCount) { Log.e(TAG, "onProgress: "+progress); } @Override public void onFinish(int what, String filePath) { Toast.makeText(MainActivity.this, Thread.currentThread().getName()+"" + filePath, Toast.LENGTH_SHORT).show(); Log.e(TAG, "onFinish: " + filePath); Bitmap bitmap = BitmapFactory.decodeFile(filePath); iv1.setImageBitmap(bitmap); } @Override public void onCancel(int what) { } }; downQueue.add(0,request,listener);
-
-
未完待续...
-
注意:
- 返回结果可以使用
response.get()
获得 - 详细使用参看GitHub项目地址
- 返回结果可以使用
NoHttp使用小结
最后编辑于 :
©著作权归作者所有,转载或内容合作请联系作者
- 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
- 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
- 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
推荐阅读更多精彩内容
- 前言 在开发项目中不免会遇到下载文件的需求,如果正好使用的是Retrofit网络框架又不想使用其它网络框架或者手写...