达内首页 > IT技术学院 > Android学院 > 初学者必看!Android Handler的用法
初学者必看!Android Handler的用法
作者:广州达内科技 更新时间:2014-04-08 14:59 来源:Android开发培训

  对于很多初学者来说,大家都不知道Android Handler的用法。下面就通过代码来给大家介绍一下Android Handler到底是怎么用的。

  如何让程序五秒钟更新一下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 这个特殊的类,我们只要在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 ++;

  }

  }


上一篇:如何在android中进行单元测试
下一篇:关于Android 中Service生命周期的介绍

相关资讯

  • [2014-04-10 11:50:44] 关于Android 中Service生命周期的介绍
  • [2014-04-08 14:59:52] 初学者必看!Android Handler的用法
  • [2014-04-02 11:15:38] 如何在android中进行单元测试
  • [2014-03-31 13:10:45] Android开发新手需要避开的十大误区
  • [2014-03-28 14:39:21] 搭建Android开发环境的五个步骤
  • [2014-03-24 11:45:49] Android开发关于intent filter的功能学习
  • 【2013-2月28日】
    Java 软件工程师就业班
    >>热招中!


    【2013-2月28日】
    3G-Android 工程师就业班
    >>热招中!


    【2013-2月28日】
    3G-Android 工程师周末班
    >>热招中!

    【2013-2月28日】
    软件测试 工程师就业班
    >>热招中!