大家好我们这一节讲的是Android Handler的使用,在讲Handler之前,我们先提个小问题,就是如何让程序5秒钟更新一下Title. 首先我们看一下习惯了Java编程的人,在不知道Handler的用法之前是怎么样写的程序,代码如下所示:
package com.android.tutor; import java.util.Timer; import java.util.TimerTask; import android.app.Activity; import android.os.Bundle; public class HandlerDemo extends Activity { //title为setTitle方法提供变量,这里为了方便我设置成了int型 private int title = 0 ; public void onCreate(Bundle savedInstanceState) { super .onCreate(savedInstanceState); setContentView(R.layout.main); Timer timer = new Timer(); timer.scheduleAtFixedRate( new MyTask(), 1 , 5000 ); } private class MyTask extends TimerTask{ @Override public void run() { setTitle( "Welcome to Mr Wei's blog " + title); title ++; } } }

  

然而当我们执行程序,并不能达到我们预期的效果,所以Android 引进了Handler 这个特殊的类,可以说它是Runnable和Activity交互的桥梁 ,所以我们只要在run方法中发送Message,而在Handler里,通过不同的Message执行不同的任务。 所以我们修改后的代码如下:
package com.android.tutor; import java.util.Timer; import java.util.TimerTask; import android.app.Activity; import android.os.Bundle; import android.os.Handler; import android.os.Message; public class HandlerDemo extends Activity { //title为setTitle方法提供变量,这里为了方便我设置成了int型 private int title = 0 ; private Handler mHandler = new Handler(){ public void handleMessage(Message msg) { switch (msg.what) { case 1 : updateTitle(); break ; } }; }; public void onCreate(Bundle savedInstanceState) { super .onCreate(savedInstanceState); setContentView(R.layout.main); Timer timer = new Timer(); timer.scheduleAtFixedRate( new MyTask(), 1 , 5000 ); } private class MyTask extends TimerTask{ @Override public void run() { Message message = new Message(); message.what = 1 ; mHandler.sendMessage(message); } } public void updateTitle(){ setTitle( "Welcome to Mr Wei's blog " + title); title ++; } }

更多相关文章

  1. android的ondraw方法大全
  2. Android(安卓)两个进程之间使用AIDL
  3. Android开机自启动+屏蔽系统功能
  4. Android中自定义Adapter的基本原理
  5. Android(安卓)Service的生命周期2
  6. Android(安卓)Binder分析三:Natvie Service的获取和调用
  7. [Android] Otto源码简析
  8. cocos2d-x添加广告条(IOS and Android)
  9. android中TextView中文字体粗体的方法

随机推荐

  1. android基本布局
  2. Android OpenGL ES 开发教程 从入门到精
  3. SQlite字段类型升级
  4. android dialog小结
  5. Android四大组件完全解析(一)---Activity
  6. android studio升级方法
  7. Android TextView中的文字自动生成链接
  8. Android 开发环境配置
  9. 相对布局常用属性介绍(RelativeLayout)
  10. Android(安卓)TTS学习——TTS初体验