0

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

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

我想在 Android(Java) 中创建它,并且该方法应该是一个独立的方法。

4

2 回答 2

0

您可以使用 AsyncTask

异步任务

例子

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

于 2013-10-25T12:28:15.210 回答
0

你可以使用AsyncTask

在 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
     }
 }
于 2013-10-25T12:29:25.183 回答