OkDownload File Downloader

 watch Video OkDownload

add this on build gradle

implementation 'com.liulishuo.okdownload:okdownload:1.0.7'

Add this imports

import com.liulishuo.okdownload.DownloadListener;

import com.liulishuo.okdownload.DownloadMonitor;

import com.liulishuo.okdownload.DownloadTask;

import com.liulishuo.okdownload.OkDownload;

import com.liulishuo.okdownload.OkDownloadProvider;

import com.liulishuo.okdownload.core.breakpoint.BreakpointInfo;

import com.liulishuo.okdownload.core.cause.EndCause;

import com.liulishuo.okdownload.core.cause.ResumeFailedCause;


Add this On ViewClick

DownloadTask task = new DownloadTask.Builder(_url, new File(_path))

.setMinIntervalMillisCallbackProcess(300)

.build();


task.enqueue(new SampleListener());


Use this Simple Click Listener

private class SampleListener implements DownloadListener { @Override public void taskStart(@NonNull DownloadTask task) { } @Override public void connectTrialStart(@NonNull DownloadTask task, @NonNull Map<String, List<String>> requestHeaderFields) { } @Override public void connectTrialEnd(@NonNull DownloadTask task, int responseCode, @NonNull Map<String, List<String>> responseHeaderFields) { } @Override public void downloadFromBeginning(@NonNull DownloadTask task, @NonNull BreakpointInfo info, @NonNull ResumeFailedCause cause) { } @Override public void downloadFromBreakpoint(@NonNull DownloadTask task, @NonNull BreakpointInfo info) { } @Override public void connectStart(@NonNull DownloadTask task, int blockIndex, @NonNull Map<String, List<String>> requestHeaderFields) { } @Override public void connectEnd(@NonNull DownloadTask task, int blockIndex, int responseCode, @NonNull Map<String, List<String>> responseHeaderFields) { } @Override public void fetchStart(@NonNull DownloadTask task, int blockIndex, long contentLength) { Toast.makeText(getApplicationContext(), "Download start", Toast.LENGTH_SHORT).show(); } @Override public void fetchProgress(@NonNull DownloadTask task, int blockIndex, long increaseBytes) { } @Override public void fetchEnd(@NonNull DownloadTask task, int blockIndex, long contentLength) { Toast.makeText(getApplicationContext(),"downloaded",Toast.LENGTH_SHORT).show(); } @Override public void taskEnd(@NonNull DownloadTask task, @NonNull EndCause cause, @Nullable Exception realCause) { } }