效果显示图如下
定义一个Activity
package cn.mw.com;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import android.app.Activity;
import android.os.Bundle;
import android.os.Handler;
import android.os.Message;
import android.widget.AnalogClock;
import android.widget.DigitalClock;
import android.widget.TextView;
public class EX02_01Activity extends Activity {
// 声明两个widget对象
private static AnalogClock ac;
private DigitalClock dc;
private TextView mTextView;
// 声明一常数作为判别信息用
protected static final int GUINOTIFIER = 0x1234;
// 声明与时间相关的变量
public Calendar mCalendar;
public int mMinutes;
public int mHour;
private int msecond;
// 声明关键 Handler 与Thread 变量
public Handler mHandler;
private Thread mClockThread;
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
mTextView = (TextView) findViewById(R.id.tv1);
ac = (AnalogClock) findViewById(R.id.anclock);
dc = (DigitalClock) findViewById(R.id.digitalclock01);
mHandler = new Handler() {
public void handleMessage(Message msg) {
// 这里是处理信息的方法
switch (msg.what) {
case EX02_01Activity.GUINOTIFIER:
// 在这里处理TextView对象show时间事件
mTextView.setText(mHour + " : " + mMinutes);
break;
}
super.handleMessage(msg);
}
};
/*
* 通过进程来持续取得系统时间
*/mClockThread = new LooperThread();
mClockThread.start();
}
// 改写一个Thread Class 用来持续取得系统时间
class LooperThread extends Thread {
public void run() {
super.run();
try {
do {
// 取得系统时间
long time = System.currentTimeMillis();
/* 通过Calendar 对象来取得小时与分钟 */
final Calendar mCalendar = Calendar.getInstance();
mCalendar.setTimeInMillis(time);
mHour = mCalendar.get(Calendar.HOUR);
mMinutes = mCalendar.get(Calendar.MINUTE);
msecond = mCalendar.get(Calendar.MINUTE);
// 让进程休息一秒
Thread.sleep(1000);
Message m = new Message();
m.what = EX02_01Activity.GUINOTIFIER;
EX02_01Activity.this.mHandler.sendMessage(m);
} while (EX02_01Activity.LooperThread.interrupted() == false);
// 当系统发出中断信息后停止本次循环
} catch (Exception e) {
e.printStackTrace();
}
}
}
}
main.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical" >
<TextView
android:id="@+id/tv1"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
<AnalogClock
android:id="@+id/anclock"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
<DigitalClock
android:id="@+id/digitalclock01"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
</LinearLayout>
相关推荐
标题中的“与系统时间严格同步的手表”指的是一个可以与计算机或其他设备的系统时间保持精确一致的电子表。这样的手表通常通过某种方式连接到设备,如通过蓝牙或Wi-Fi,以便定期更新时间,确保时间显示的准确性。...
"显示时间"通常指的是本地时间,而"手表时间"可能指的是模拟传统手表指针运动的视觉效果。我们将探讨如何用JS来实现这两种时间显示方式。 1. **JavaScript获取本地时间** JavaScript通过`Date`对象可以轻松获取...
本示例通过一个JSP(JavaServer Pages)程序来实现一个简单的“电子手表”功能,它能实时显示系统时间并自动每隔一秒钟刷新页面,以更新时间。下面我们将深入探讨这个JSP程序的实现细节。 首先,JSP是一个基于Java...
【CSS3手表样式倒计时动画代码】是一个利用先进的CSS3技术实现的动态计时器设计,它模拟了手表的外观,并提供了四种不同的颜色主题,为用户提供了丰富的视觉体验。这款倒计时动画代码适用于各种场景,如活动预告、...
本手表的操作主要涉及时间、日期及特殊功能的设置,下面将详细介绍这些操作步骤。 首先,这款手表的【充电】是关键。为了保持手表正常运行,需确保手表经常接触光线。当手表缺乏电量时,只需将表盘暴露在光照下,...
手册中还可能出现关于手表背面型号标识、如“Ck-9”、“Ck-17”等的解释,这些标识通常表明手表的款式和功能特性,有助于用户更好地了解他们手表的详细信息。比如“Ck-25”后面的“31分钟”可能是指手表具有31分钟倒...
1. **时间调整与显示**: 手册中提到了DST(夏令时)的设置,这意味着手表具有自动调整夏令时的功能,用户可以根据所在地的时间调整标准,确保手表显示的时间准确无误。 2. **世界时间功能**: 在部分编码信息中,...
8. **样式和主题**:为了适应不同的主题和风格,可以为自定义View提供默认的样式,并允许在XML布局中通过style属性覆盖它们。 9. **测试与调试**:自定义View的调试通常涉及在多种设备和屏幕尺寸上进行测试,以确保...
CASIO-2747是一款集多种实用功能于一体的手表,具备独立的数字与指针计时系统,支持时间设置、日期显示、夏令时切换等功能,并且拥有电话备忘录等便利特性。本文档将详细解析CASIO-2747手表的各项功能及其操作方法。...
标题“ARM电子模拟手表,可以在LCD上显示指针手表”揭示了这是一个基于ARM架构的电子设备项目,其核心功能是模拟传统指针式手表的显示,并且能够在LCD液晶显示屏上呈现。ARM是一种广泛应用的微处理器架构,特别是在...
卡西欧手表电波表对时软件是一种专为卡西欧电波手表设计的辅助工具,主要用于在手表无法接收到标准电波信号时,通过电脑进行精确的时间校准。电波手表是一种高科技手表,它能够接收来自地面发射站的无线电标准时间...
《中兴儿童手表GA365的刷机与时间校准指南》 中兴儿童手表GA365是一款专为孩子们设计的智能穿戴设备,它集通讯、定位、健康管理等功能于一体,深受家长们的喜爱。然而,如同任何电子产品一样,这款手表在使用过程中...
机芯底板是手表中最基础也是最重要的结构之一,它支撑着所有其他部件,并且为它们提供固定的平台。底板的设计需要考虑到强度与稳定性,以确保机芯能够长期可靠地工作。 #### 四、无钥匙机构(Keyless Works) ...
这可能意味着开发者在UI设计上花费了大量精力,确保了时间显示、按钮交互以及其他手表特性如闹钟、计时器等都尽可能地接近真实手表。同时,这个项目被认为是具有借鉴价值的,意味着其他VB开发者可以学习并参考其设计...
- 目的:调整智能手表上报位置数据的时间间隔。 2. **中心号码设置** - 目的:设置接收报警信息的电话号码。 3. **辅助中心号码设置** - 目的:设置辅助接收报警信息的电话号码。 4. **控制密码设置** - 目的:...
智能手表是一种融合了高科技与时尚元素的可穿戴设备,它不仅具有传统手表的计时功能,还能连接智能手机,提供各种智能化服务。在这个“智能手表程序”的压缩包中,我们可以推测包含的是与智能手表相关的应用程序或者...
智能手表的可靠性测试是确保这类高科技穿戴设备在各种条件下的稳定性和耐用性的关键环节。随着电子科技的飞速发展,智能手表因其便捷性、耐用性和舒适的佩戴体验,已经成为户外运动者和其他用户的心头好。然而,为了...
设置世界时间是另一项重要功能。手表可以同时显示两个时区的时间,分别通过24小时针和普通时针表示。用户可以通过拉出柄头到位置1,旋转柄头选择所需时区,并通过按钮A和B在家乡时间和当地时间之间切换。 为了帮助...
在这个特定的项目中,“html5 canvas 3D手表旋转展示动画特效”利用了Canvas的这一特性,创建了一个动态的手表模型,可以实时显示当前时间,并且用户可以通过鼠标交互来控制手表的旋转角度,增加了用户体验的互动性...
在智能手表的应用中,它承担着处理各种输入输出任务,包括时间显示、提醒功能以及传感器数据的处理。 首先,让我们深入了解PIC24F单片机。这个系列的微控制器集成了CPU、RAM、ROM、定时器、中断控制器和其他外围...