# DowloadKit
**Repository Path**: hocgin/DowloadKit
## Basic Information
- **Project Name**: DowloadKit
- **Description**: Android 调用系统下载和更新APP封装
- **Primary Language**: Java
- **License**: Not specified
- **Default Branch**: master
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 0
- **Forks**: 0
- **Created**: 2020-12-08
- **Last Updated**: 2020-12-19
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
## 使用
1. 在 `AndroidManifest.xml` 添加必要权限.
```xml
...
```
2. 适配 Android N 以及更高的版本, 在 `AndroidManifest.xml` 加入
```xml
...
```
并在`res`目录下,创建`xml`文件夹并新增`file_paths.xml`文件,文件内容如下:
```xml
```
> **重要** 注1 和 注2 位置填写`BuildConfig.APPLICATION_ID`的值。
3. (可选) 监听 点击通知 和 下载完成 两种广播, 在 `AndroidManifest.xml` 加入
```xml
...
```
可选`DownloadManagerReceiver`或`BroadcastReceiver`为父类,具体实现可参照`DownloadReceiver`。
4. 如何使用进行下载
方案一, 使用默认配置:
```java
DownloadHandle download = DownloadKit.ctx(this).url(url)
.done()
.download(..);
// DownloadFileInfo downloadFileInfo = download.query();
```
方案二,使用自定义配置:
```java
DownloadHandle download = DownloadKit.ctx(appContext)
.url(..)
.setNotificationVisibility(..)
.setDescription(..)
.setTitle(..)
.setDestinationUri(..)
.done()
.download();
```
5. 进行查询下载的状态 或 进度
```java
DownloadFileInfo downloadFileInfo = DownloadQuery.New(((DownloadManager) getSystemService(Context.DOWNLOAD_SERVICE)))
.filter(downloadId)
.query();
Toast.makeText(this, String.format("下载Id: %s, 状态: %d", downloadFileInfo.getId(), downloadFileInfo.getStatus()), Toast.LENGTH_SHORT).show();
```