android教程之使用asynctask在后台运行耗时任务

2019-12-10 20:10:33王振洲
AsyncTask用在需要在ui线程中调用、在背景线程中执行耗时任务、并且在ui线程中返回结果的场合。下面就是一个在背景中运行的AsyncTask的实现DownloadDBTask    

, Android中实现了默认的进度提示对话框,即ProgressDialog,通过实例化和一些简单设置,就可以使用了。

 

复制代码
private class DownloadDBTask extends AsyncTask<String, Integer, String> {   
        // 可变长的输入参数,与AsyncTask.exucute()对应   
        ProgressDialog pdialog;   
        public DownloadDBTask(Context context){   
            pdialog = new ProgressDialog(context, 0);      
            pdialog.setButton("取消", new DialogInterface.OnClickListener() {   
             public void onClick(DialogInterface dialog, int i) {   
              dialog.cancel();   
             }   
            });   
            pdialog.setOnCancelListener(new DialogInterface.OnCancelListener() {   
             public void onCancel(DialogInterface dialog) {   
              finish();   
             }   
            });
            pdialog.setTitle("第一次使用,正在下载数据...");
            pdialog.setCancelable(true);   
            pdialog.setMax(100);   
            pdialog.setProgressStyle(ProgressDialog.STYLE_HORIZONTAL);   
            pdialog.show();   
        }