为了账号安全,请及时绑定邮箱和手机立即绑定

Android必学-AsyncTask基础

难度中级
时长49分
学习人数
综合评分9.77
206人评价 查看评价
9.8 内容实用
9.9 简洁易懂
9.6 逻辑清晰
  • 异步任务:asynctask 

    why:android 单线程,耗时任务不能放在主线程

    能干什么:

    在子线程中更新UI,封装简化异步操作

    查看全部
    0 采集 收起 来源:AsyncTask概述

    2018-09-25

  • AsyncTask可以在子线程中更新UI???


    查看全部
    0 采集 收起 来源:AsyncTask概述

    2018-08-13


  • 这是异步操作别的回调方法

    查看全部
  • 异步任务————AsyncTask

    1.为什么要异步

      Android单线程模型

      耗时操作放在非主线程中执行

    2.AsyncTask为何而生

      子线程中更新UI

      封装、简化异步操作

    构建AsyncTask子类的参数

    AsyncTask<Params,Progress,Result>是一个抽象类

    通常用于被继承,继承AsyncTask需要指定如下三个泛型参数:

    1.Params:启动任务时输入的参数的类型。

    2.Progress:后台任务执行中返回进度值的类型。

    3.Result:后台执行任务完成后返回结果的类型。


    查看全部
  • AsyncTask子类回调方法调用顺序:

    onPreExecute(),

    doInBackground(),

    onProgressUpdate(),

    onPostExecute()

    查看全部
  • 构建AsyncTask子类的回调方法

    dolnBackground:必须重新,异步执行后台线程将要完成的任务

    onPreExecute:执行后台耗时操纵前被调用,完成初始化操作

    onPostExecute:当dolnBackground()完成后,系统自动调用,并将dolnBackground()方法返回的值传给该方法

    onProgressUpdate:在dolnBackground()方法中调用publishProgress()方法更新任务的执行进度后,会触发该方法。

    查看全部
  • cancel()方法只是将对应的AsyncTask标记位cancel状态,并不是真正取消AsyncTask,需要在doInBackground方法中去调用isCanceled()方法检查状态

    查看全部
  • 必须在UI线程中创建AsyncTask实例

    如截图

    查看全部
    0 采集 收起 来源:总结

    2018-06-19

  • class MyAsyncTask extends AsyncTask<Void, Integer, Void> {
    
        @Override
        protected Void doInBackground(Void... params) {
    
            for (int i = 0; i < 100; i ++) {
                publishProgress(i);
                try {
                    Thread.sleep(300);
                } catch (InterruptedException e) {
                    e.printStackTrace();
                }
            }
            return null;
        }
    
        @Override
        protected void onProgressUpdate(Integer... values) {
            super.onProgressUpdate(values);
            progressBar.setProgress(values[0]);
        }
    }


    查看全部
  • class MyAsyncTask extends AsyncTask<String, Void, Bitmap> {
    
        @Override
        protected Bitmap doInBackground(String... params) {
            //1、获取传递进来的参数
            String url = params[0];
            Bitmap bitmap = null;
            URLConnection connection;
            InputStream is;
    
            try {
                connection = new URL(url).openConnection();
                is = connection.getInputStream();
                BufferedInputStream bis = new BufferedInputStream(is);
                //通过decodeStream方法解析输入流
                bitmap = BitmapFactory.decodeStream(bis);
                is.close();
                bis.close();
            } catch (IOException e) {
                e.printStackTrace();
            }
            //将bitmap作为返回值
            return bitmap;
        }
    }


    查看全部
    0 采集 收起 来源:创建AsyncTask类

    2018-04-09

  • doinBackground 运行在其他线程,而其他的三个方法运行在主线程,可以更新UI。

    查看全部
    0 采集 收起 来源:总结

    2018-03-23

  • AsyncTask.cacel()只是将线程标记成cancel状态,并不是真的取消掉一个线程。

    查看全部
  • AsyncTask<Params,Progess,Result> 是一个抽象类,通常用于被继承,继承AsyncTask需要指定如下三个泛型参数: 1、Params:启动任务时输入的参数类型。 2、Progress:后台任务执行中返回进度值的类型 3、Result:后台执行任务完成后发回结果的类型
    查看全部
  • 回调方法 doInbackground 必需重写 异步执行后台线程将要完成的任务 onPreExecute 执行后台耗时操作前调用 通常用户完成一些初始化操作 onPostExecute 当doInbackground 完成后 系统会自动调用OnPostExecute 方法 并将doInbackground方法返回的值传给该方法 onprogressupdate 在dibg 方法中调用该方法 更新任务的执行进度后 会触发该方法
    查看全部
  • 访问网络图片转化成bitmap
    查看全部
    0 采集 收起 来源:创建AsyncTask类

    2017-11-26

举报

0/150
提交
取消
课程须知
本课程是Android初级课程 1、掌握基本的Android应用程序开发方法 2、掌握AsyncTask中个方法中参数的意义 3、掌握AsyncTask中4个常用的方法
老师告诉你能学到什么?
1、了解Android的单线程模型 2、 AsyncTask的基本构成 3、 AsyncTask的回调方法 4、 AsyncTask实例

微信扫码,参与3人拼团

意见反馈 帮助中心 APP下载
官方微信
友情提示:

您好,此课程属于迁移课程,您已购买该课程,无需重复购买,感谢您对慕课网的支持!