Android网络传输框架的核心代码量对比
来源:互联网 发布:she候鸟 知乎 编辑:程序博客网 时间:2024/06/06 23:50
1. HttpURLConnection
int nStartPos = 0;int timeout = 15000;int NUMLIMIT_FAIL=5;long nEndPos = 30000000;byte[] b = new byte[blockSize]; URL url;String linkString="http://XXXXXX";try { url = new URL(linkString); HttpURLConnection httpConnection = (HttpURLConnection) url.openConnection(); httpConnection.setConnectTimeout(timeout); httpConnection.setReadTimeout(timeout); httpConnection.setRequestMethod(isDownload==1?"GET":"POST"); String sProperty = "bytes=" + nStartPos + "-" +nEndPos; //sProperty设置的是开始下载的位置,即断点。若nStartPos为0则完整下载整个文件 httpConnection.setRequestProperty("RANGE" , sProperty);//当然也可以这么写:httpConnection.setRequestProperty("RANGE","bytes=50-20070"); InputStream input = httpConnection.getInputStream(); FileOutputStream f = new FileOutputStream(new File(sPath));//读取网络文件,写入指定的文件中 int nRead,failedCnt=1; while (nStartPos < nEndPos&&failedCnt<=NUMLIMIT_FAIL) { try { nRead = input.read(b, 0, blockSize); if(nRead>0){ f.write(b, 0, nRead); nStartPos += nRead; } else { break; } } catch (Exception e) { e.printStackTrace(); } } httpConnection.disconnect(); f.close();} catch (Exception e1) { e1.printStackTrace();}
2. OKhttp
OkHttpClient client = new OkHttpClient();String url = "http://XXXXXXXX";try { Request request = new Request.Builder().url(url).build(); Response response = client.newCall(request).execute(); InputStream is = response.body().byteStream(); Bitmap bm = BitmapFactory.decodeStream(is); imageView.setImageBitmap(bm);} catch (IOException e) { e.printStackTrace();}
3. Volley
String url = "http://XXXXXXXXXX";try { ImageRequest imgrequest = new ImageRequest(url,new Response.Listener<Bitmap>() { @Override public void onResponse(Bitmap bitmap) { imageView.setImageBitmap(bitmap); }}, 0, 0, Bitmap.Config.RGB_565, new Response.ErrorListener() { public void onErrorResponse(VolleyError error) { System.out.println(error.getLocalizedMessage()); } }); RequestQueue queue = Volley.newRequestQueue(this); queue.add(imgrequest); }catch (Exception e){ e.printStackTrace(); }
4. TransFramework
String url = "http://XXXXXXXXXXXXXXX";ImageRequest imgrequest = new ImageRequest(url,new Response.Listener<Bitmap>() { @Override public void onResponse(Bitmap bitmap) { imageView.setImageBitmap(bitmap); }}, 0, 0, null,new Response.ErrorListener() { public void onErrorResponse(VolleyError error) { System.out.println(error.getLocalizedMessage()); } });RequestQueue queue = Volley.newRequestQueue(this);queue.add(imgrequest);
0 0
- Android网络传输框架的核心代码量对比
- Android 网络框架_网络框架的核心Http协议
- Android主流网络框架对比
- android 网络应用轻量框架
- 简述Android高效轻量网络框架
- android网络请求框架 HttpClient与Volley的性能对比
- Android 注解框架 Butterknife的核心代码分析笔记
- Android高级 所有简单框架的主要核心代码
- Android 网络请求框架对比分析
- ice和java socket网络传输的对比
- 详解rsync算法--如何减少网络同步文件时的网络传输量
- 网络请求框架对比
- 网络请求框架对比
- 网络请求框架对比
- unix/linux的网络核心代码关系
- HTTP的网络访问核心代码
- Android网络传输中必用的两个加密算法:MD5 和 RSA (附java完成测试代码)
- Android网络传输中必用的两个加密算法:MD5 和 RSA (附java完成测试代码)
- 深度学习相关链接
- 虚拟机安装Ubuntu14.04共享查看Win7上共享的文件夹
- 一些知识点的初步理解_9(独立成分分析-ICA,ing...)
- Java中线程基本知识整理
- HDU 5592 还原逆序数(树状数组+二分)
- Android网络传输框架的核心代码量对比
- UDID和openUDID的区别
- 【java学习笔记s】线程1
- ObjC的initialize和init
- 10006---AngularJS 指令
- uva 563 Tree Recovery
- my blog
- 同余定理在编程中的应用
- 如水的夜,似铁的心