我想创建一个方法,它可以更新(特别是时间间隔)用户关于它正在执行的任务的进度,最后,可以返回结果真/假或任何对象。
例如,我必须创建一个加密或解密文件/目录的方法。所以我必须显示加密/解密的进度,最后我必须返回 true 或 false 值,无论文件是否成功加密/解密。
我想在 Android(Java) 中创建它,并且该方法应该是一个独立的方法。
你可以使用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
}
}