Skip to content

Android Library that helps you to download and unzip file easily. API 15+ required.

Notifications You must be signed in to change notification settings

EunsilJo/FileDownloadManager

Repository files navigation

FileDownloadManager

API

Android Library that help you to download and unzip file easily.

How to import

Add it in your root build.gradle at the end of repositories:

allprojects {
	repositories {
		...
		maven { url 'https://jitpack.io' }
	}
}

Add the dependency

dependencies {
	compile 'com.github.EunsilJo:FileDownloadManager:1.0.2'
}

How to use

AndroidManifest.xml

Need to include these permissions in your AndroidManifest.xml file.

<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>

Activity.java

Create FileDownloadManager and call methods.

FileDownloadManager mFileDownloadManager = new FileDownloadManager(Context);
mFileDownloadManager.check(...)
mFileDownloadManager.download(...)
mFileDownloadManager.unzip(...)
mFileDownloadManager.clear(...)

FileDownloadManager.java

A FileDownloadManager runs with one ExecutorService.

private ExecutorService mThreadPool;
private static final int MAXIMUM_POOL_SIZE = 1;
public FileDownloadManager(Context context) {
    mContext = context;
    mThreadPool = Executors.newFixedThreadPool(MAXIMUM_POOL_SIZE);
}

You can receive state and result.

public interface OnFileListener<T> {
    void onFileStart();
    void onFileProgress(int progress);
    void onFileComplete(T result);
    void onFileError(int error);
}

Check

public synchronized void check(String url, OnFileListener<Integer> listener)
  • String url : location of download file
  • OnFileListener listener : can receive the size of file.

Download

public synchronized void download(String url, String outputDirPath, String fileName, OnFileListener<String> listener)
  • String url : location of download file
  • String outputDirPath : directory path to download and save
  • String fileName : file name to download and save
  • OnFileListener listener : can receive the file path downloaded.

Unzip

public synchronized void unzip(String filePath, String targetDirPath, OnFileListener<String> listener)
  • String filePath : location of zip file
  • String targetDirPath : directory path to unzip
  • OnFileListener listener : can receive the file path unzipped(targetDirPath).

Clear

public synchronized void clear(String dirPath, OnFileListener<String> listener)
  • String dirPath : directory path to clear
  • OnFileListener listener : can receive the directory path cleared(dirPath).

+

Please check the demo app to see examples.

About

Android Library that helps you to download and unzip file easily. API 15+ required.

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages