GitHub - novoda/download-manager: Download manager based on AOSP DM but allowing...
source link: https://github.com/novoda/download-manager
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
README.md
download-manager
A library that handles long-running downloads, handling the network interactions and retrying downloads automatically after failures. Clients can request downloads in batches, receiving a single notification for all of the files allocated to a batch while being able to retrieve the single files after downloads complete.
Adding to your project
To start using this library, add these lines to the build.gradle
of your project:
repositories {
jcenter()
}
dependencies {
compile 'com.novoda:download-manager:<latest-version>'
}
Simple usage
- Create a
DownloadManager
:
DownloadManager downloadManager = DownloadManagerBuilder
.newInstance(this, handler, R.mipmap.ic_launcher_round)
.withLogHandle(new DemoLogHandle())
.withStorageRequirementRules(StorageRequirementRuleFactory.createByteBasedRule(TWO_HUNDRED_MB_IN_BYTES))
.build();
- Create a
Batch
of files to download:
Batch batch = Batch.with(primaryStorageWithDownloadsSubpackage, DownloadBatchIdCreator.createSanitizedFrom("batch_id_1"), "batch one title")
.downloadFrom("http://ipv4.download.thinkbroadband.com/5MB.zip").saveTo("foo/bar", "local-filename-5mb.zip").withIdentifier(DownloadFileIdCreator.createFrom("file_id_1")).apply()
.downloadFrom("http://ipv4.download.thinkbroadband.com/10MB.zip").apply()
.build();
- Schedule the batch for download:
downloadManager.download(batch);
Snapshots
Snapshot builds from develop
are automatically deployed to a repository that is not synced with JCenter.
To consume a snapshot build add an additional maven repo as follows:
repositories {
maven {
url 'https://novoda.bintray.com/snapshots'
}
}
You can find the latest snapshot version following this link.
Contributing
We always welcome people to contribute new features or bug fixes, here is how.
If you have a problem, check the Issues Page first to see if we are already working on it.
Recommend
About Joyk
Aggregate valuable and interesting links.
Joyk means Joy of geeK