Android高手进阶教程(九)之----Android Handler的使用!!! 2010-05-30 21:33:12 标签: Handler Android android教程 高手 移动开发 原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处、作者信息和本声明。否则将追究法律责任。 http://weizhulin.blog.51cto.com/1556324/323922 大家好我们这一节讲的是Android Handler的使用,在讲Handler之前,我们先提个小问题,就是如何让程序5秒钟更新一下Title. 首先我们看一下习惯了Java编程的人,在不知道Handler的用法之前是怎么样写的程序,代码如下所示: view plain copy to clipboard print ?
  1. packagecom.android.tutor;
  2. importjava.util.Timer;
  3. importjava.util.TimerTask;
  4. importandroid.app.Activity;
  5. importandroid.os.Bundle;
  6. publicclassHandlerDemoextendsActivity{
  7. //title为setTitle方法提供变量,这里为了方便我设置成了int型
  8. privateinttitle=0;
  9. publicvoidonCreate(BundlesavedInstanceState){
  10. super.onCreate(savedInstanceState);
  11. setContentView(R.layout.main);
  12. Timertimer=newTimer();
  13. timer.scheduleAtFixedRate(newMyTask(),1,5000);
  14. }
  15. privateclassMyTaskextendsTimerTask{
  16. @Override
  17. publicvoidrun(){
  18. setTitle("WelcometoMrWei'sblog"+title);
  19. title++;
  20. }
  21. }
  22. }
然而当我们执行程序,并不能达到我们预期的效果,所以Android 引进了Handler 这个特殊的类,可以说它是Runnable和Activity交互的桥梁 ,所以我们只要在run方法中发送Message,而在Handler里,通过不同的Message执行不同的任务。 所以我们修改后的代码如下: view plain copy to clipboard print ?
  1. packagecom.android.tutor;
  2. importjava.util.Timer;
  3. importjava.util.TimerTask;
  4. importandroid.app.Activity;
  5. importandroid.os.Bundle;
  6. importandroid.os.Handler;
  7. importandroid.os.Message;
  8. publicclassHandlerDemoextendsActivity{
  9. //title为setTitle方法提供变量,这里为了方便我设置成了int型
  10. privateinttitle=0;
  11. privateHandlermHandler=newHandler(){
  12. publicvoidhandleMessage(Messagemsg){
  13. switch(msg.what){
  14. case1:
  15. updateTitle();
  16. break;
  17. }
  18. };
  19. };
  20. publicvoidonCreate(BundlesavedInstanceState){
  21. super.onCreate(savedInstanceState);
  22. setContentView(R.layout.main);
  23. Timertimer=newTimer();
  24. timer.scheduleAtFixedRate(newMyTask(),1,5000);
  25. }
  26. privateclassMyTaskextendsTimerTask{
  27. @Override
  28. publicvoidrun(){
  29. Messagemessage=newMessage();
  30. message.what=1;
  31. mHandler.sendMessage(message);
  32. }
  33. }
  34. publicvoidupdateTitle(){
  35. setTitle("WelcometoMrWei'sblog"+title);
  36. title++;
  37. }
  38. }
下面我们看一下效果图: Android高手进阶教程(九)之----Android Handler的使用!!!_第1张图片 Android高手进阶教程(九)之----Android Handler的使用!!!_第2张图片

本文出自 “Android_Tutor” 博客,请务必保留此出处http://weizhulin.blog.51cto.com/1556324/323922

更多相关文章

  1. Android studio3.6的JNI教程之helloworld
  2. Android 入门教程:安装 Android Studio
  3. Android uiautomator 使用入门官方教程
  4. 《Android高级进阶》— Android 书籍
  5. Android NDK 开发教程一:安装NDK
  6. (原创)Android入门教程(六)之------使用android SDk帮助文档(英
  7. OpenCV4 --Android 环境配置【详细教程】
  8. Android Studio使用教程、工程目录结构、使用注意事项、常用开发

随机推荐

  1. android install location
  2. Andrdoid Sensors Overview (探测器概述)
  3. Customize "share picture via" menu on
  4. category
  5. Android(安卓)View随手指移动
  6. fragment
  7. 获取Android唯一设备号
  8. Android监听组合键
  9. Android(安卓)AlertDialog example
  10. Android圆角图片封装类