当前位置: 代码迷 >> 数码设备 >> AnalogClock跟DigitalClock
  详细解决方案

AnalogClock跟DigitalClock

热度:5769   发布时间:2013-02-26 00:00:00.0
AnalogClock和DigitalClock
  本篇主要介绍一下AnalogClock和DigitalClock控件。
package com.kevin.clock;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 Main extends Activity {	private static final int MSGTYPE = 1;	private AnalogClock analogClock;	private TextView tv_title;	private DigitalClock digitalClock;	private Calendar calendar;	private int hour;	private int minute;	private int second;	private Handler handler;	private Thread thread;	/** Called when the activity is first created. */	@Override	public void onCreate(Bundle savedInstanceState) {		super.onCreate(savedInstanceState);		setContentView(R.layout.main);		tv_title = (TextView) findViewById(R.id.tv_title);		analogClock = (AnalogClock) findViewById(R.id.analogClock1);		digitalClock = (DigitalClock) findViewById(R.id.digitalClock1);		// 通过Handler来接受线程锁传递的信息并更新TextView		handler = new Handler() {			@Override			public void handleMessage(Message msg) {				switch (msg.what) {				case MSGTYPE:					tv_title.setText(hour + ":" + minute + ":" + second);					break;				default:					break;				}				super.handleMessage(msg);			}		};		// 每隔一秒取得系统时间		thread = new LooperThread();		thread.start();	}	class LooperThread extends Thread {		@Override		public void run() {			try {				while (true) {					// 取得系统时间					long time = System.currentTimeMillis();					calendar = Calendar.getInstance();					calendar.setTimeInMillis(time);					second = calendar.get(Calendar.SECOND);					minute = calendar.get(Calendar.MINUTE);					hour = calendar.get(Calendar.HOUR_OF_DAY);					Thread.sleep(1000);					Message msg = new Message();					msg.what = MSGTYPE;					handler.sendMessage(msg);				}			} catch (Exception e) {				e.printStackTrace();			}		}	}}