美文网首页
AsyncTask的使用

AsyncTask的使用

作者: 王魔王 | 来源:发表于2018-11-07 11:02 被阅读0次

参数解释:
第一个:String,这个参数是doInBackground()方法中要用到的参数,如果不需要参数,传Void即可。
第二个:Void,这个参数是onProgressUpdate()方法中的要用到的参数,如果不需要,传Void即可
第三个:String,这个参数是doInBackground()的返回值,这个返回值会返回到onPostExecute()方法的参数中供我们使用
AsyncTask asyncTask= new AsyncTask<String, Void, String>() {

        //在主线程执行,首先执行
        @Override
        protected void onPreExecute() {
            super.onPreExecute();
        }
        //在子线程执行,执行耗时操作
        @Override
        protected String doInBackground(String... voids) {

            //发出一个取消任务的请求,但是不保证该任务会被取消
            cancel(true);

            //判断该任务是否取消
            if (isCancelled()) {

            }

            //请参阅onProgressUpdate()方法说明
            publishProgress();
            return null;
        }

        //在主线程中执行,在任务执行过程中不断回调
        //这个方法要执行,需要在 doinbackground()方法中
        //调用publishProgress()方法
        @Override
        protected void onProgressUpdate(Void... values) {
            super.onProgressUpdate(values);
        }

        //在主线程执行,任务完成后执行

        @Override
        protected void onPostExecute(String aVoid) {
            super.onPostExecute(aVoid);
        }
    };


//一个asyncTask只能执行一次
asyncTask.execute();

相关文章

网友评论

      本文标题:AsyncTask的使用

      本文链接:https://www.haomeiwen.com/subject/ribmxqtx.html