diff --git a/README.md b/README.md new file mode 100644 index 00000000..394bb384 --- /dev/null +++ b/README.md @@ -0,0 +1,86 @@ +# DownloadUtil +这是android 文件下载工具类,实现了多线程断点续传功能 + +#使用 +```java +DownloadUtil mUtil; + +/** + * 初始化下载工具类 + */ + private void init(){ + mUtil = new DownloadUtile(); + } + +private void download(){ + mUtil.download(this, mDownloadUrl, Environment.getExternalStorageDirectory().getPath() + "/test.apk" + , new DownloadListener() { + long fileSize = 1; + + @Override + public void onPreDownload(HttpURLConnection connection) { + super.onPreDownload(connection); + mPb.setMax(100); + fileSize = connection.getContentLength(); + mUpdateHandler.obtainMessage(DOWNLOAD_PRE, fileSize).sendToTarget(); + } + + @Override + public void onStart(long startLocation) { + super.onStart(startLocation); + } + + @Override + public void onChildResume(long resumeLocation) { + super.onChildResume(resumeLocation); + } + + @Override + public void onChildComplete(long finishLocation) { + super.onChildComplete(finishLocation); + } + + @Override + public void onProgress(long currentLocation) { + super.onProgress(currentLocation); + mPb.setProgress((int) (currentLocation * 100 / fileSize)); + } + + @Override + public void onStop(long stopLocation) { + super.onStop(stopLocation); + mUpdateHandler.obtainMessage(DOWNLOAD_STOP).sendToTarget(); + } + + @Override + public void onCancel() { + super.onCancel(); + mUpdateHandler.obtainMessage(DOWNLOAD_CANCEL).sendToTarget(); + } + + @Override + public void onResume(long resumeLocation) { + super.onResume(resumeLocation); + mUpdateHandler.obtainMessage(DOWNLOAD_RESUME, resumeLocation).sendToTarget(); + } + + @Override + public void onFail() { + super.onFail(); + mUpdateHandler.obtainMessage(DOWNLOAD_FAILE).sendToTarget(); + } + + @Override + public void onComplete() { + super.onComplete(); + mUpdateHandler.obtainMessage(DOWNLOAD_COMPLETE).sendToTarget(); + } + }); +} +``` + + +#示例 +![例子图](https://github.com/AriaLyy/DownloadUtil/blob/master/img/11.gif "") + +#下载