- a file download manager supported by okHttp
- support breakpoint download
- support multi-thread download
add dependency in gradle
compile 'nebulae.library.wheel:downloadmanager:1.0.1'
firstly,add permission at AndroidManifest.xml
<uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS"/>
then use follow code to start your download
DownloadManagerConfig config = new DownloadManagerConfig() //get Config
.setMaxTasksNumber(3)
.setSingleTaskThreadNumber(3)
.setSavePath("");
DownloadManager.init(this, config); //initial manager in Application
//DownloadManager.init(this.getApplicationContext(), config); or in Activity use getApplicationContext()
DownloadManager downloadManager = DownloadManager.getInstance(); //getInstance
downloadManager.addTask(url, fileName); //start a download task
if you need show download tasks information at Activity, you can get downloading tasks list by
ArrayList<TransferTask> list = downloadManager.getTaskList();
return value is a list consist by class TransferTask , can use as the parameter of ListView/RecyclerView's Adapter. Implement interface DownloadManager.DownloadUpdateListener in Activity,and update UI
@Override
public void OnUIUpdate()
{
//update operation, like
//adapter.notifyDataSetChanged();
}
api level 11+
downloadManager.pauseTask(url); //pause a task is being download
downloadManager.cancelTask(url); //cancel a task
downloadManager.reStart(url); //restart a paused task
downloadManager.getCompletedTasks();//get completed tasks' list
downloadManager.deleteAllData(); //clear data



