大型文件下载_特别推荐
文件下载是每一个android 开发者不可回避的问题,下载中可能会出现各种无法规避的问题,网络异常,网络断开等等,让我很是苦恼,
自己封装过下载的类,也封装过Okhttp来下载 ,Volley下载 ,
小文件,妥妥的,没一点问题 ,最近一个项目把我弄残了 ,以前封装好的OKhttp下载工具类,软件升级没问题 ,但是我的下载文件有600多M ,600M ,
What Fuck !
问题就来了,中途出现的问题就不言而喻了 ,后来也添加了断点下载,和一些网络优化,使用过程中还是不爽,这时我想到以前用的网络框架 ,
Xutil . 一些老人可能都知道 ,这个神一般的框架 ,后来测试中,在各种网络状态下,XUtil的下载工具类,总能表现异常 。今天要吹捧它一番 。
使用方法
去下载Xutil的jar包 ,我使用的是xUtil-2.6.14.jar
今天优化了一下代码补贴代码了 ,整理了一个Module,调用更方便 。
主界面代码看就知道了
就一个按钮。项目依赖包就好
依赖包地址 :http://pan.baidu.com/s/1pLSKp79
依赖包会持续更新 .
在App项目中添加依赖包
compile project(':downmodule')
package com.reeman.down; import android.app.Activity; import android.os.Bundle; import android.view.View; import android.widget.Button; import com.reeman.util.down.util.DownManager; public class MainActivity extends Activity implements View.OnClickListener { private Button btn_start; private String path = "/sdcard/dangbei.apk"; String url = "http://imtt.dd.qq.com/16891/9FFDE35ADEFC28D3740D4E16612F078A.apk?fsname=com.tencent.tmgp.sgame_1.22.1.13_22011304.apk&csr=1bbd"; DownManager downManager; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); intiView(); } private void intiView() { downManager = new DownManager(MainActivity.this); btn_start = (Button) findViewById(R.id.btn_start); btn_start.setOnClickListener(this); } @Override public void onClick(View view) { switch (view.getId()) { case R.id.btn_start: downManager.downFileStart(url, path); break; } } }
最后别忘记了权限
<uses-permission android:name="android.permission.INTERNET" /> <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /