android异步更新UI的方法

具体的可以参见这篇博客,将原理讲解得很详细:

http://blog.csdn.net/mylzc/article/details/6772129

由于android只能够在主线程中实现UI的更新,因此使用的方法通常是:

1,handler+thread机制

2,异步处理工作类:Async Task。里面五个回调分别对应着五个状态,详情可见上面的博客,这里重点说一下几个参数的含义。

AsyncTask<params,progress,result>;

其中,params是传递给后台的参数类型。result是后台返回的参数类型。

result doInBackground(Params...)。这个方法相当于handler机制中Thread。除了这个方法以外,其他四个方法都是在主UI线程总执行。在这个方法中可以调用publicProgress方法发布一个或者多个进度单位到onPublishProgress中

void onPublishProgress(progress...),实现线程的更新。

void onPostExecute(Result)  后台运行结束之后调用。

(这个类还有另外两种方法,onPreExecute(),该回调函数在任务被执行之后立即由UI线程调用。这个步骤通常用来建立任务,在用户接口(UI)上显示进度条。onCancelled (),在调用AsyncTask的cancel()方法时调用)

原文地址:https://www.cnblogs.com/bobodeboke/p/3123360.html