原文链接:http://developer.51cto.com/art/201001/180254.htm
推荐安卓开发神器(里面有各种UI特效和android代码库实例)
目前许多大型厂商都纷纷将目光转向了智能手机,在手机领域展开了一场激烈的竞争。由谷歌推出的Android手机操作系统就是一其中一个竞争对手。在这里我们可以了解到Android计时器的相关应用。
昨天晚上在写一个Android计时器,开始认为很容易,用Java一般写法,结果发现计时器根本不能运行,但却不报任何错误,当时就呆在那了,不知道该怎么办了,后来在网上查了一下,Android考虑到线程安全问题,不允许在线程中执行UI线程(我的现在所知道,还有其他的限制发现中),在Android中,有一个很有意思的类:android.os.Handler,这个可以实现各处线程间的消息传递。
先看段代码,这个实例化了一个Handler,Handler可以通过Message在多个线程通讯,我这里做的是定时recLen加1,然后以一定的格式,显示到recTime上(UI线程上的操作)。
final Handler handler = new Handler(){ public void handleMessage(Message msg) { switch (msg.what) { case 1: recLen++; recTime.setText(GetRecTime(recLen)); break; } super.handleMessage(msg); } };
下面定实例化一个TimerTask,这个是为Timer提供一个定时执行的内容。我在这个方法中加的是给Handler一个发送消息功能,因这在Timer的线程中,无法直接操作UI线程。
TimerTask task = new TimerTask(){ public void run() { Message message = new Message(); message.what = 1; handler.sendMessage(message); } };
剩下的工作就简单多,添加一个Timer,可以让程序运行起来了
timer = new Timer(true);
timer.schedule(task,1000, 1000);
//延时1000ms后执行,1000ms执行一次
//timer.cancel(); //退出Android计时器
说到这里,也许有些还感觉云里雾里,好久没写东西,也不知道怎么把问题说的更明白,这个再贴上我开始的错误写法,对比错误写法,也许能让大家更快的明白过来
Android计时器错误写法
TimerTask task = new TimerTask(){ public void run() { recLen++; recTime.setText(GetRecTime(recLen)); //直接在TimerTask中操作UI线程,单步调试的时候发现,程序根本就没执行到这里 } }; timer = new Timer(true); timer.schedule(task,1000, 1000);
Android计时器的相关应用方法就为大家介绍到这里。
相关推荐
本资源提供了一个简单的Android计时器源码,包含了开始、暂停和重置功能,是学习Android计时器应用的一个良好示例。下面我们将详细探讨Android计时器的实现及其相关知识点。 首先,Android中的计时器主要有两种:`...
在Android应用开发中,秒表...通过学习这个源码,开发者不仅可以掌握Android计时器的实现方式,还能进一步理解Android应用开发的其他关键概念,如UI设计、线程管理、状态保存等。这对于提升Android开发技能非常有帮助。
本示例“android 定时器demo”主要聚焦于Android的定时器使用,通过源码分享,帮助开发者深入理解并掌握如何在Android应用中实现定时任务。下面将详细解释相关知识点。 1. **AlarmManager**: `AlarmManager` 是...
- 需要处理暂停、继续和重置操作,确保计时器状态的正确管理。 2. **倒计时功能实现**: - 初始化时,设定结束时间(当前时间 + 倒计时秒数)。 - 同样使用`Handler`和`Runnable`,或者`Timer`类,定期检查当前...
这篇文档将深入解析《Android应用源码之五子棋附源码》的毕业设计项目,旨在为学习Android应用开发的学生提供宝贵的参考资料。该项目涵盖了Android应用程序的基础架构、游戏逻辑实现、用户界面设计以及源码分析等多...
秒表应用的源码会涉及到计时器的实现,线程管理,用户界面更新,以及事件处理等Java基础知识。开发者可能使用了`Thread`或`Handler`类来实现计时功能,同时通过`OnClickListener`来响应用户的开始、暂停和重置操作。...
这可能通过计时器(如Handler或CountDownTimer)配合View动画或PageTransformer实现。每隔一定时间,广告会自动切换到下一张,形成连续滚动的效果。 5. **触摸交互**:为了提供用户体验,应用可能还支持手动滑动...
- `app/src/androidTest`:包含自动化测试代码,帮助确保应用功能的正确性。 - `app/src/debug`:包含调试版本的代码,可能包含特殊日志或调试工具。 通过深入研究这个健身App的源码,开发者可以学习到Android...
本文将基于"Android应用源码之连连看.zip"这个压缩包,详细解析其背后的Android编程技术。 1. **Android项目结构**: - 一个标准的Android应用源码通常包含以下几个主要部分:`AndroidManifest.xml`(应用配置文件...
一、Android倒计时器(CountDownTimer) Android SDK提供了一个名为`CountDownTimer`的类,可以用于创建一个从特定时间开始倒计时的定时器。以下是如何使用`CountDownTimer`的基本步骤: 1. **创建CountDownTimer...
- **计时器**:如果答题有时间限制,可以使用`CountDownTimer`类来实现倒计时功能。 - **答题逻辑**:编写判断用户答案正误的逻辑,可以使用条件语句(if-else)检查用户选择是否与正确答案一致。 4. **UI定制** ...
今天我们要探讨的是一个经典的Android项目——"jwood-standup-timer",它是一个简洁而实用的站立会议计时器。通过分析这个项目,我们可以深入理解Android应用开发中的核心概念和技术。 1. **站立会议(Standup ...
本篇文章将详细解析"Android 秒表源码.zip"中的核心概念和技术,以便理解Android秒表应用的工作原理,并为开发者提供参考。 1. **Activity与用户界面** - 秒表应用的核心是`MainActivity`,它是Android应用程序的...
同时,计时器需要能够同时跟踪多个事件或参赛者的计时,以便在团体赛或接力赛中保持同步。 2. **计分系统**:除了计时,计分器还需要具备计分功能,这可能涉及到复杂的算法,根据比赛规则计算每个参赛者的得分。...
"安卓天气日历时间选择倒计时相关-Android日历中心.rar" 这个标题表明,这个压缩包包含的是针对Android平台的,与天气预报、日历功能以及时间选择和倒计时相关的代码或项目资源。这可能是开发者为了实现一个综合性的...
考虑添加一些额外功能,比如计时器记录完成时间,音效反馈增加游戏趣味性,以及完成拼图后的动画和提示。 通过这个项目,我们可以学习到Android应用的基本开发流程,包括资源管理、视图布局、事件处理、数据存储...
- 实现游戏规则和算法,如计时器、抢答判断、翻牌匹配逻辑等。 - 确保游戏状态的正确管理,如游戏胜利、失败、平局等。 11. **权限管理**: - 如果应用需要访问设备麦克风或网络,需要在AndroidManifest.xml中...
以下是对Android电源管理从应用层、框架层到内核层的详细解析。 在**应用层**,开发者可以利用`android.os.PowerManager`类来控制设备的电源状态。这个类提供了几个关键方法: 1. `goToSleep(long time)`:强制...
在Android平台上,开发一款集天气、日历和时间选择以及倒计时功能的应用是一项常见的任务。这个压缩包文件“安卓天气日历时间选择倒计时相关-android日历备忘录给标记日期添加红点.rar”可能包含了一个示例项目,...