Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/201.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何创建一个方法,该方法可以更新调用方正在执行的任务的进度?_Java_Android - Fatal编程技术网

Java 如何创建一个方法,该方法可以更新调用方正在执行的任务的进度?

Java 如何创建一个方法,该方法可以更新调用方正在执行的任务的进度?,java,android,Java,Android,我想创建一个方法,它可以更新(特别是时间间隔)用户正在执行的任务的进度&最后,可以返回结果true/false或任何对象 例如,我必须创建一个加密或解密文件/目录的方法。所以我必须显示加密/解密的进度&最后我必须返回true或false值,无论文件是否成功加密/解密 我想在Android(Java)中创建它&该方法应该是独立的。您可以使用异步任务 即使应用程序在后台,您也可以将其放在单独运行的服务中。您可以使用 在AsyncTask中,您可以在doInBackground中执行操作。在任务期

我想创建一个方法,它可以更新(特别是时间间隔)用户正在执行的任务的进度&最后,可以返回结果true/false或任何对象

例如,我必须创建一个加密或解密文件/目录的方法。所以我必须显示加密/解密的进度&最后我必须返回true或false值,无论文件是否成功加密/解密


我想在Android(Java)中创建它&该方法应该是独立的。

您可以使用异步任务

即使应用程序在后台,您也可以将其放在单独运行的服务中。

您可以使用

在AsyncTask中,您可以在
doInBackground
中执行操作。在任务期间,您可以通过调用
publishProgress
方法发布进度,该方法将被
onProgressUpdate
方法捕获。此外,当任务完成时,将调用
onPostExecute
方法。这就是你想要的

所以你需要做的就是这样做

private class DownloadFilesTask extends AsyncTask<URL, Integer, Long> {
     protected Long doInBackground(URL... urls) {
         // Do your task and during the task calculate the progress and call publishProgress to publish the progress
         return totalSize;
     }

     protected void onProgressUpdate(Integer... progress) {
         progress received
     }

     protected void onPostExecute(Long result) {
         task finihshed
     }
 }
私有类下载文件任务扩展异步任务{
受保护的长doInBackground(URL…URL){
//执行任务并在任务期间计算进度,然后调用publishProgress发布进度
返回总大小;
}
受保护的void onProgressUpdate(整数…进度){
收到的进展
}
受保护的void onPostExecute(长结果){
任务完成
}
}

谢谢,我会试试这个,让你知道我的状态。