Android 异步加载

一般会使用线程Thread 、Timer 或者使用AsyncTask ,而这些操作都是在在后台另外开一个线程给我们找数据,具体得到的数据需要使用Handler 去更新UI,AsyncTask 也是一样使用到的Handler 只是它将Handler 封装在了onPostExecute 执行操作中。

使用过AsyncTask 的同学都知道一个异步加载数据最少要重写以下这两个方法:

  • doInBackground   后台执行,比较耗时的操作都可以放在这里。注意这里不能直接操作UI。

  • onPostExecute   相当于Handler 处理UI的方式,在这里面可以使用在doInBackground 得到的结果处理操作UI。

     有必要的话你还得重写以下这三个方法,但不是必须的:

  • onProgressUpdate   可以使用进度条增加用户体验度。

  • onPreExecute           这里是最终用户调用Excute时的接口

  • onCancelled             用户调用取消时,要做的操作

点赞
收藏

评论区

加载中...

相关推荐

MySQL:[Err] 1292 - Incorrect datetime value: ‘0000-00-00 00:00:00‘ for column ‘CREATE_TIME‘ at row 1

文章目录问题用navicat导入数据时,报错:原因这是因为当前的MySQL不支持datetime为0的情况。解决修改sql\mode:sql\mode:SQLMode定义了MySQL应支持的SQL语法、数据校验等,这样可以更容易地在不同的环境中使用MySQL。全局s

Oracle 分组与拼接字符串同时使用

SELECTT.,ROWNUMIDFROM(SELECTT.EMPLID,T.NAME,T.BU,T.REALDEPART,T.FORMATDATE,SUM(T.S0)S0,MAX(UPDATETIME)CREATETIME,LISTAGG(TOCHAR(

手写Java HashMap源码

HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程22

android进程与线程详解三:AsyncTask

AsyncTask使你可以在你的界面上执行异步工作。它在一个工作线程中执行耗时操作然后把结果传给界面线程,不需要你亲自去管理线程和句柄。要使用它,你必须从AsyncTask派生一个类并实现回调方法doInBackground(),此方法在一个后台的线程池中运行。要更新你的界面,你应实现onPostExecute(),它把doInBackgroun

2020年前端实用代码段,为你的工作保驾护航

有空的时候,自己总结了几个代码段,在开发中也经常使用,谢谢。1、使用解构获取json数据let jsonData  id: 1,status: "OK",data: 'a', 'b';let  id, status, data: number   jsonData;console.log(id, status, number )

Android中AsyncTask的使用

原文https://blog.csdn.net/liuhe688/article/details/6532519在Android中实现异步任务机制有两种方式,Handler和AsyncTask。Handler模式需要为每一个任务创建一个新的线程,任务完成后通过Handler实例向UI线程发送消息,完成界面的更新,这种方式对于整个过程的控制比较精细

Android 异步加载 - HelloWorld