注意事项

除了在widget(Activity、Fragment、Dialog、Popupwindow)中使用注解方法外,你还可以在Service、Notification等组件中使用注解函数。 注意:

  • 注解回掉采用Apt的方式实现,所以,你不需要担心这会影响你机器的性能
  • 被注解的方法不能被private修饰
  • 被注解的方法只能有一个参数,并且参数类型必须是DownloadTaskUploadTaskDownloadGroupTask
  • 方法名可以为任意字符串

一、HTTP\FTP单任务下载注解

注解 说明 示例
@Download.onPre 预处理的注解,在任务为开始前回调(一般在此处预处理UI界面) @Download.onPre void onPre(DownloadTask task) {}
@Download.onTaskStart 任务开始时的注解,新任务开始时进行回调 @Download.onTaskStart void taskStart(DownloadTask task) {}
@Download.onTaskResume 任务恢复时的注解,任务从停止恢复到运行前进行回调 @Download.onTaskResume void taskResume(DownloadTask task) {}
@Download.onTaskRunning 任务执行时的注解,任务正在执行时进行回调 @Download.onTaskRunning void running(DownloadTask task) {}
@Download.onWait 队列已经满了,继续创建新任务,将会回调该方法 @Download.onWait void onWait(DownloadTask task){}
@Download.onTaskStop 任务停止时的注解,任务停止时进行回调 @Download.onTaskStop void taskStop(DownloadTask task) {}
@Download.onTaskCancel 任务被删除时的注解,任务被删除时进行回调 @Download.onTaskCancel void taskCancel(DownloadTask task) {}
@Download.onTaskFail 任务失败时的注解,任务执行失败时进行回调 @Download.onTaskFail void taskFail(DownloadTask task) {}
@Download.onTaskComplete 任务完成时的注解,任务完成时进行回调 @Download.onTaskComplete void taskComplete(DownloadTask task) {}
@Download.onNoSupportBreakPoint 这是一个特殊的注解,用于处理不支持断点续传的任务 @Download.onNoSupportBreakPoint void onNoSupportBreakPoint(DownloadTask task) {}

二、HTTP组合任务下载\FTP文件夹下载注解

注解 说明 示例
@DownloadGroup.onPre 预处理的注解,在任务为开始前回调(一般在此处预处理UI界面) @DownloadGroup.onPre void onPre(DownloadGroupTask task) {}
@DownloadGroup.onTaskStart 任务开始时的注解,新任务开始时进行回调 @DownloadGroup.onTaskStart void taskStart(DownloadGroupTask task) {}
@DownloadGroup.onTaskResume 任务恢复时的注解,任务从停止恢复到运行前进行回调 @DownloadGroup.onTaskResume void taskResume(DownloadGroupTask task) {}
@DownloadGroup.onTaskRunning 任务执行时的注解,任务正在执行时进行回调 @DownloadGroup.onTaskRunning void running(DownloadGroupTask task) {}
@DownloadGroup.onWait 队列已经满了,继续创建新任务,将会回调该方法 @DownloadGroup.onWait void onWait(DownloadGroupTask task){}
@DownloadGroup.onTaskStop 任务停止时的注解,任务停止时进行回调 @DownloadGroup.onTaskStop void taskStop(DownloadGroupTask task) {}
@DownloadGroup.onTaskCancel 任务被删除时的注解,任务被删除时进行回调 @DownloadGroup.onTaskCancel void taskCancel(DownloadGroupTask task) {}
@DownloadGroup.onTaskFail 任务失败时的注解,任务执行失败时进行回调 @DownloadGroup.onTaskFail void taskFail(DownloadGroupTask task) {}
@DownloadGroup.onTaskComplete 任务完成时的注解,任务完成时进行回调 @DownloadGroup.onTaskComplete void taskComplete(DownloadGroupTask task) {}

三、组合任务中子任务注解

注解 说明 示例
@DownloadGroup.onSubTaskRunning 任务组子任务下载中时回调 @DownloadGroup.onSubTaskRunning void onSubTaskRunning(DownloadGroupTask groupTask, DownloadEntity subEntity) {}
@DownloadGroup.onSubTaskPre 任务组子任务预处理时回调 @DownloadGroup.onSubTaskPre void onSubTaskRunning(DownloadGroupTask groupTask, DownloadEntity subEntity) {}
@DownloadGroup.onSubTaskStop 任务组子任务停止时回调 @DownloadGroup.onSubTaskStop void onSubTaskRunning(DownloadGroupTask groupTask, DownloadEntity subEntity) {}
@DownloadGroup.onSubTaskStart 任务组子任务开始下载时回调 @DownloadGroup.onSubTaskStart void onSubTaskRunning(DownloadGroupTask groupTask, DownloadEntity subEntity) {}
@DownloadGroup.onSubTaskComplete 任务组子任务完成时时回调 @DownloadGroup.onSubTaskComplete void onSubTaskRunning(DownloadGroupTask groupTask, DownloadEntity subEntity) {}
@DownloadGroup.onSubTaskFail 任务组子任务执行失败时回调 @DownloadGroup.onSubTaskFail void onSubTaskRunning(DownloadGroupTask groupTask, DownloadEntity subEntity) {}

四、HTTP\FTP单任务上传注解

注解 说明 示例
@Upload.onPre 预处理的注解,在任务为开始前回调(一般在此处预处理UI界面) @Upload.onPre void onPre(UploadTask task) {}
@Upload.onTaskStart 任务开始时的注解,新任务开始时进行回调 @Upload.onTaskStart void taskStart(UploadTask task) {}
@Upload.onTaskResume 任务恢复时的注解,任务从停止恢复到运行前进行回调 @Upload.onTaskResume void taskResume(UploadTask task) {}
@Upload.onTaskRunning 任务执行时的注解,任务正在执行时进行回调 @Upload.onTaskRunning void running(UploadTask task) {}
@Upload.onWait 队列已经满了,继续创建新任务,将会回调该方法 @Upload.onWait void onWait(UploadTask task){}
@Upload.onTaskStop 任务停止时的注解,任务停止时进行回调 @Upload.onTaskStop void taskStop(UploadTask task) {}
@Upload.onTaskCancel 任务被删除时的注解,任务被删除时进行回调 @Upload.onTaskCancel void taskCancel(UploadTask task) {}
@Upload.onTaskFail 任务失败时的注解,任务执行失败时进行回调 @Upload.onTaskFail void taskFail(UploadTask task) {}
@Upload.onTaskComplete 任务完成时的注解,任务完成时进行回调 @Upload.onTaskComplete void taskComplete(UploadTask task) {}

tip

TIP: 如果你子希望对单个任务,或某一些特定任务设置监听器。

可以在注解中添加任务的下载地址,则表示只有该任务才会触发被注解的方法__。

 @Download.onTaskRunning({
      "https://test.xx.apk",
      "http://test.xx2.apk"
  }) void taskRunning(DownloadTask task) {
    mAdapter.setProgress(task.getDownloadEntity());
  }

在上面的例子中,只有下载地址是https://test.xx.apkhttp://test.xx2.apk才会触发 taskRunning(DownloadTask task)方法。 除了用注解判断任务外,你还可以使用task.getKey()来判断当前任务,getKey()返回的是下载地址或上传任务

@Download.onTaskRunning void taskRunning(DownloadTask task) {
   if(task.getKey().eques(DOWNLOAD_URL)){
     mAdapter.setProgress(task.getDownloadEntity());
   }
}
Copyright © 2018 laoyuyu. | 蜀ICP备17031160号.            更新时间: 2019-10-24

results matching ""

    No results matching ""