AndroidDownloader

AndroidDownloader.svg

AndroidDownloader.svg

Android Downloader是一个开源的多线程,多任务下载框架。

更多功能和使用方法可以查看这个APK.

a86a83525b8bf2ffcda2109333fd3af5.png

a7cd1f01137ae2ee52f7a0533d78d4bd.png

4face40eb4655c9082dd316040df5249.png

24e512c54728d6f794ee0f747dcd4e9d.png

c4fd03815ed07b2b1c9f92d9f23e2fa6.png

下载

你能从Githubreleases page下载jar包.

或者使用Gradle:

在根项目的build.gradle文件中添加仓库地址:

allprojects {

repositories {

...

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

}

}

添加依赖:

dependencies {

compile 'com.ixuea:AndroidDownloader:latest'

}

如果要使用Snapshot版本, 请查看Snapshotswiki页面.

ProGuard

如果你的项目使用了ProGuard,你需要添加下面的配置信息到项目的proguard-rules.pro文件中

-keep public class * implements com.ixuea.android.downloader.db.DownloadDBController

如果使用?

0.添加网络访问权限

1.配置下载服务

2.创建DownloadManager实例

downloadManager = DownloadService.getDownloadManager(context.getApplicationContext());

3.下载一个文件

//create download info set download uri and save path.

final DownloadInfo downloadInfo = new DownloadInfo.Builder().setUrl("http://example.com/a.apk")

.setPath("/sdcard/a.apk")

.build();

//set download callback.

downloadInfo.setDownloadListener(new DownloadListener() {

@Override

public void onStart() {

tv_download_info.setText("Prepare downloading");

}

@Override

public void onWaited() {

tv_download_info.setText("Waiting");

bt_download_button.setText("Pause");

}

@Override

public void onPaused() {

bt_download_button.setText("Continue");

tv_download_info.setText("Paused");

}

@Override

public void onDownloading(long progress, long size) {

tv_download_info

.setText(FileUtil.formatFileSize(progress) + "/" + FileUtil

.formatFileSize(size));

bt_download_button.setText("Pause");

}

@Override

public void onRemoved() {

bt_download_button.setText("Download");

tv_download_info.setText("");

downloadInfo = null;

}

@Override

public void onDownloadSuccess() {

bt_download_button.setText("Delete");

tv_download_info.setText("Download success");

}

@Override

public void onDownloadFailed(DownloadException e) {

e.printStackTrace();

tv_download_info.setText("Download fail:" + e.getMessage());

}

});

//submit download info to download manager.

downloadManager.download(downloadInfo);

更多信息请查看Demo.

兼容

Android SDK: 要求最新Android SDK为API 10.

实例代码

可以看到该Build文档配置开发环境:

./gradlew :samples:run

你也可以在releases界面找到Demo APK.

更多帮助信息

请查看Demo项目.

作者

Smile - @ixueadev on GitHub, Email is ixueadev@163.com, See more ixuea(http://www.ixuea.com)

Android开发交流群QQ群: 702321063.

Logo

有“AI”的1024 = 2048,欢迎大家加入2048 AI社区

更多推荐