摘要: AsyncTask构造(泛型参数)外部步骤:AsyncTask task = newAsyncTask<params,values,result>();task.exec(params);内部流程:1.void onPreExecute() ;//里头可放些提醒类的东西2.resultdoInBackground(params){publishProgress(values);};//执行任务,取得结果并返回3.void onProgressUpdate(values);//接收publishProgress()参数,可以更新进度4.voidonPostExecute(result 阅读全文
posted @ 2012-11-22 17:58 bvin 阅读(535) 评论(0) 推荐(0) 编辑
摘要: 流程:1.点击开始,显示进度对话框,启动线程,循环发送消息(1-100)2.更新对话框中的进度,和标题栏的进度3.到达最大进度值时,关闭对话框,标题栏显示更新完成解析:1.在主线程处理handler的消息,更新Ui2.在其他线程里用主线程的handler不停发送消息3.线程启动,发送消息 1 package com.bvin.thread; 2 3 import android.app.Activity; 4 import android.app.ProgressDialog; 5 import android.os.Bundle; 6 import android.os.Handler; . 阅读全文
posted @ 2012-11-22 16:03 bvin 阅读(709) 评论(0) 推荐(0) 编辑
摘要: 主线程与其他线程双向通信handler+looper一个线程绑定一个Handler,通过handler发送消息到被绑定的线程里,就可以在该线程里处理收到的消息了。流程:1.程序启动,主线程就开始在跑。2.点击启动Other线程按钮,启动Other线程。(log打印Other线程已启动)3.点击发动消息到Ohter按钮,发送消息到Ohter线程。(Other线程里打印接收到的消息,因为Other线程不可以操作ui,所以只有通过log显示出来)4.Other线程收到消息后,又将消息发送到主线程,通过主线程的handler去处理ui。(收到Ohter线程,主线程的handler就可以通过一个Text 阅读全文
posted @ 2012-11-22 15:24 bvin 阅读(490) 评论(0) 推荐(0) 编辑