Android Handler使用方法(一) 学习笔记
来源:互联网 发布:阿里云服务器种类 编辑:程序博客网 时间:2024/06/02 18:35
1.Handler的基本感念
2.Handler基本使用方法
class StartButtonListener implements OnClickListener{
@Override
public void onClick(View v) {
//调用Handler的post方法,将要执行的线程对象添加到队列当中
handler.post(updateThread);
}
}
通过按钮的监听器,调用Handler的post方法,将要执行的县城对象添加到队列当中,
//创建一个Handler对象
Handler handler = new Handler();
//将要执行的操作写在线程对象的run方法当中
Runnable updateThread = new Runnable(){
public void run() {
System.out.println("UpdateThread");
//在run方法内部,执行postDelayed或者是post方法
handler.postDelayed(updateThread, 3000);
把updateThread加入到消息队列中去,并且延迟3000毫秒,
使用Handler需创建Handler对象,然后要把操作封装在线程封装中去,
3.使用Handler更新ProgressBar
Handler updateBarHandler = new Handler(){
@Override
public void handleMessage(Message msg) {
bar.setProgress(msg.arg1);
//将线程加入到handler里面,将触发线程的run函数的执行。
updateBarHandler.post(updateThread);
}
};
//线程类,该类使用匿名内部类的方式进行声明
Runnable updateThread = new Runnable(){
int i = 0 ;
@Override
public void run() {
System.out.println("Begin Thread");
i = i + 10 ;
//得到一个消息对象,Message类是有Android操作系统提供
Message msg = updateBarHandler.obtainMessage();
//将msg对象的arg1参数的值设置为i,用arg1和arg2这两个成员变量传递消息,优点是系统性能消耗较少
msg.arg1 = i ;
try {
//设置当前显示睡眠1秒
Thread.sleep(1000);
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
//将msg对象加入到消息队列当中
updateBarHandler.sendMessage(msg);
//msg.sendToTarget();
if( i == 100){
//如果当i的值为100时,就将线程对象从handler当中移除
updateBarHandler.removeCallbacks(updateThread);
}
}
- Android Handler使用方法(一) 学习笔记
- Android学习笔记之Handler(一)
- 【Android学习笔记】Handler的使用方法
- Handler(一)--MarsChen Android 开发教程学习笔记
- Android学习笔记:关于Handler的详解(一)
- Android Handler学习一
- Handler的使用方法(一)
- android Handler的基本使用方法和介绍(一)
- Android Handler学习笔记
- android handler学习笔记
- Android Handler学习笔记
- Android学习笔记----Handler
- android Handler 学习笔记
- android Handler学习笔记
- Android学习笔记07:Handler的使用一
- android学习笔记之handler(1)
- android学习笔记之handler(2)
- Android学习笔记(十):Handler
- 新手引导库详解
- 前端实现图片压缩上传
- Redis 安装和配置实例
- [其他] 怎样获得年薪1000万的工作
- leetcode-113. Path Sum II
- Android Handler使用方法(一) 学习笔记
- vector sort 出现异常处理--std::sort(_RanIt,_RanIt,_Pr)
- ZCMU-1031-Graveyard
- etcd 入门教程
- JavaScript常见事件处理方法
- 获取iOS设备唯一标识 uuid
- selector
- 浅谈css padding和margin
- OpenCL