An Rx wrapper for Download Manager in Android
To download a file into your download directory (Environment.DOWNLOADS
) use download()
String url = "https://upload.wikimedia.org/wikipedia/en/e/ed/Nyan_cat_250px_frame.PNG";
RxDownloader.getInstance(appContext)
.download(url, "nyancat photo", "image/jpg") // url, filename, and mimeType
.subscribe(path ->{
// Do what you want with downloaded path
}, throwable -> {
// Handle download faile here
});
To download file into the directory on the filesystem (Context.getFilesDir()
) use downloadInFilesDir()
String url = "https://upload.wikimedia.org/wikipedia/en/e/ed/Nyan_cat_250px_frame.PNG";
RxDownloader.getInstance(appContext)
.downloadInFilesDir(url, "nyancat photo", "image/jpg") // url, filename, and mimeType
.subscribe(path ->{ /* file path */ }, throwable -> { /* handle error */ });
You can always use download(DowloadManager.Request request)
for more customization and configuration.
You can also look at the sample
for complete usage
allprojects {
repositories {
...
maven { url "https://jitpack.io" }
}
}
dependencies {
compile 'com.github.esafirm:rxdownloader:2.0.0'
}
- Vladislav Nikolaev who migrate this library to RxJava2
- Everyone who has contributed code and reported issues!
MIT @ Esa Firman