Android Timer用法

Android考虑到线程安全问题,不允许在线程中执行UI线程,在Android中,有一个类:android.os.Handler,这个可以实现各处线程间的消息传递。先看段代码,这个实例化了一个Handler,Handler可以通过Message在多个线程通讯,这里做的是定时recLen加1,然后以一定的格式,显示到recTime上(UI线程上的操作)。


 1 final Handler handler = new Handler(){  
 2     public void handleMessage(Message msg) {  
 3         switch (msg.what) {      
 4             case 1:      
 5                 recLen++;
 6         recTime.setText(GetRecTime(recLen));
 7                 break;      
 8             }      
 9             super.handleMessage(msg);  
10         }    
11     };

下面定实例化一个TimerTask,这个是为Timer提供一个定时执行的内容。在这个方法中加的是给Handler一个发送消息功能,因这在Timer的线程中,无法直接操作UI线程。

1 TimerTask task = new TimerTask(){  
2       public void run() {  
3       Message message = new Message();      
4       message.what = 1;      
5       handler.sendMessage(message);    
6    }  
7 };

添加一个Timer,可以让程序运行起来了

1 timer = new Timer(true);
2 timer.schedule(task,1000, 1000); //延时1000ms后执行,1000ms执行一次
3 //timer.cancel(); //退出计时器

Android Timer用法

时间: 2024-10-12 20:52:35

Android Timer用法的相关文章

Android Bitmap 用法总结

android Bitmap用法总结 Normal 0 7.8 磅 0 2 false false false MicrosoftInternetExplorer4 1.Drawable → Bitmap public static Bitmap drawableToBitmap(Drawable drawable) { Bitmap bitmap = Bitmap .createBitmap( drawable.getIntrinsicWidth(), drawable.getIntrinsi

android Bitmap用法总结

Bitmap用法总结1.Drawable → Bitmappublic static Bitmap drawableToBitmap(Drawable drawable) {Bitmap bitmap = Bitmap.createBitmap(drawable.getIntrinsicWidth(),drawable.getIntrinsicHeight(),drawable.getOpacity() != PixelFormat.OPAQUE ? Bitmap.Config.ARGB_888

Android ViewPager 用法

Android ViewPager 用法 场景:一般第一次打开应用程序时,程序会有一个提示页来给展现应用程序都有哪些功能:或者程序更新时,又更新哪些新特性,都可以使用ViewPager Demo 描述:实现三个界面的相互切换,页面颜色分别为红,绿,蓝 activity_main: 主界面只添ViewPager这一个控件 android:overScrollMode="never" 作用是当页面已经滑动到最左边或最右时,去掉阴影 <?xml version="1.0&qu

Android HttpClient 用法以及乱码解决

一.Post提交 并可以实现多文件上传 // 创建DefaultHttpClient对象 HttpClient httpclient = new DefaultHttpClient(); // 创建一个HttpGet对象 HttpPost post = new HttpPost(realUrl); MultipartEntity entity = new MultipartEntity(HttpMultipartMode.BROWSER_COMPATIBLE); if (params != nu

System.Timers.Timer用法

System.Timers.Timer t = new System.Timers.Timer(5000); //设置时间间隔为5秒 private void Form1_Load(object sender, EventArgs e)        {            t.Elapsed += new System.Timers.ElapsedEventHandler(Timer_TimesUp);            t.AutoReset = false; //每到指定时间Elap

Android configChanges用法

1.    在manifest文件中使用activity的默认属性,横屏竖屏时,惠反复调用onDestory和onCreate  造成不必要的开销.Android默认如此应该是为了适配不同的xml布局文件,重新初始化资源,显示效果会好一些: 2. manifest文件中配置activity的属性: android:configChanges="orientation|screenSize" 在activity中将会回调函数: public void onConfigurationCha

Android getSystemService用法实例总结

本文实例分析了Android getSystemService用法.分享给大家供大家参考,具体如下: 1. 说明 android的后台运行在很多service,它们在系统启动时被SystemServer开启,支持系统的正常工作,比如MountService监听是否有SD卡安装及移除,ClipboardService提供剪切板功能,PackageManagerService提供软件包的安装移除及查看等等,应用程序可以通过系统提供的Manager接口来访问这些Service提供的数据,以下将说明他们

C# Timer用法及实例讲解

摘自:http://www.cnblogs.com/xcsn/archive/2013/05/10/3070485.html 1.C# Timer用法及实例详解 http://developer.51cto.com/art/200909/149829.htm http://www.cnblogs.com/OpenCoder/archive/2010/02/23/1672043.html 关于C# Timer类  在C#里关于定时器类就有3个 C# Timer使用的方法1.定义在System.Wi

Android spannableStringBuilder用法整理

Android spannableStringBuilder用法整理 分类: Android开发2013-11-29 10:58 5009人阅读 评论(0) 收藏 举报 AndroidspannableStringBuild spannableStringBuilder 用法详解: SpannableString ss = new SpannableString("红色打电话斜体删除线绿色下划线图片:.");           //用颜色标记文本         ss.setSpan