Android 笔记之 AsyncTask

原创 2016年08月30日 23:17:53

AsyncTask

很多时候,需要异步执行任务,例如更新UI必须在主线程,internet任务必须在单独线程,
所以,从网上读取图片,然后显示,这么一个很简单的任务,就必须使用异步才能完成。

有一个简单的执行异步的类叫AsyncTask,提供一些便利的方法来执行异步任务。

  1. 建立一个自定义类,继承AsynkTask
  2. 覆盖类中的方法,以实现功能(具体如下)
  3. 在UI线程中创建该自定义类的实例,然后调用excute()方法
  4. 如果需要手动退出,调用cancel()方法
class MyAsync extends AsyncTask<Integer,Integer,String> {
    TextView textView;
    ImageView imageView;
    ProgressBar progressBar;

    public MyAsync(TextView tv,ImageView iv,ProgressBar pb) {
        this.textView = tv;
        this.imageView = iv;
        this.progressBar = pb;
    }

    @Override
    protected String doInBackground(Integer... integers) {
        return String.valueOf(integers[0]);
    }

    @Override
    protected void onProgressUpdate(Integer... values) {
        super.onProgressUpdate(values);
    }

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

        progressBar.setProgress(50);
        textView.setText(s);
    }
}

如上所示,这里面有3个主要方法
doinbackground,就是在新线程实现功能的方法,返回值就是需要获得的内容
onprogressupdate,就是在上述方法可能是一个很耗时的方法,这里可以用来更新UI显示运行进度,
所以里面可以设置一些在UI上显示进度的功能,自动调用。
onpostexcute,就是第一个方法在运行结束以后调用的,参数就是第一个方法的返回值。

很好理解吧。

一个AsyncTask实例智能调用一次,否则会抛出异常

版权声明:转载需标注出处和作者 举报

相关文章推荐

android开发笔记之AsyncTask

引言android开发时,我们经常遇到处理后台的耗时的操作,并且要实时的把后台操作的情况显示在UI界面。 一般,我们会采用handler+Thread的方式来处理,但是此种方式逻辑比较复杂,自己要写...

Android学习笔记之AsyncTask

1.AsyncTask简述 AsyncTask可以使UI线程使用得更加简单方便。这个类可以在UI线程后台执行操作和返回执行结果,而不需要多个线程或Handler等来处理程序。 AsyncTask是围绕...
  • FRF65
  • FRF65
  • 2013-11-03 09:15
  • 602

我是如何成为一名python大咖的?

人生苦短,都说必须python,那么我分享下我是如何从小白成为Python资深开发者的吧。2014年我大学刚毕业..

Android入门笔记之AsyncTask

Android入门笔记之AsyncTask 简介 多线程是android重要的机制之一。 关键步骤        Android中通过AsyncTask和标准的Thread类来提供线程服务,将...

Android学习笔记之ProgressBar案例分析

(1) <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="htt...

Android之——AsyncTask随笔

在开发Android应用时必须遵守单线程模型的原则: Android UI操作并不是线程安全的并且这些操作必须在UI线程中执行。在单线程模型中始终要记住两条法则: 1. 不要阻塞UI线程 2. 确...

Android之AsyncTask的学习笔记

AsyncTask是轻量级的异步任务类,它可以在线程池中执行任务,然后把执行任务的进度和最终结果返回给主线程进行UI更新。从组成结构来讲,AsyncTask用到了Thread和Handler,通过As...

Android笔记(十三)AsyncTask(一)

异步任务的主要作用是来处理一些耗时的操作,给用户带来良好的用户体验。下面我们就来新建一个异步任务,完成下载图片的任务。一、首先,来看一下 AsyncTask 的基本用法,由于 AsyncTask 是一...

Android笔记: AsyncTask 的使用

和使用匿名线程相比较来说 AsyncTask 有如下好处:·  线程的开销较大,如果每个任务都要创建一个线程,那么应用程 序的效率要低很多;·  线程无法管理,匿名线程创建并启动后就不受程序的控制了,...

Android学习笔记---AsyncTask

在开发Android应用时必须遵守单线程模型的原则.Android UI操作并不是线程安全的并且这些操作必须在UI线程中执行。 在单线程模型中始终要记住两条法则:  1. 不要阻塞UI线程 (当一...

android基础笔记——AsyncTask

AsyncTask,是android提供的轻量级的异步类,可以直接继承AsyncTask,在类中实现异步操作,并提供接口反馈当前异步执行的程度(可以通过接口实现UI进度更新),最后反馈执行的结果给UI...
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)