Skip to content

nebulae-pan/OkHttpDownloadManager

Repository files navigation

OkHttpDownloadManager v1.0.1

introduction

  • a file download manager supported by okHttp
  • support breakpoint download
  • support multi-thread download

usage

add dependency in gradle

compile 'nebulae.library.wheel:downloadmanager:1.0.1'

simple download

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();
}

require

api level 11+

other api

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

download demo

single task downloading

single download task

exceed limit's tasks block

single download task

single download task

download completed

single download task

About

OkHttpDownloadManager

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Contributors 2

  •  
  •  

Languages