[Android] 時計アプリケーションを作るための4つのサンプルソースコード

| トラックバック(0) |

1.AnalogClock(アナログ時計)

Android.widgetパッケージに含まれるAnalogClockクラス。
Androidのソースコードでは、frameworks\base\core\java\android\widget\AnalogClock.java

約240行のソースコードですが、基本となるアナログ時計を実装しています。
外観は、「アナログ時計(AnalogClock)を使用するには - 逆引きAndroid入門」からも参照できます。

時計の針は、リソースから取得したDrawableを、onDraw()で、Canvasを回転させて描画しています。
時計の更新は、1分毎に行われるのですが、このきっかけを作っているのは、
onAttachedToWindow()で、Intent.ACTION_TIME_TICKというIntentFilterをregisterReceiver()している処理です。


2.DigitalClock(デジタル時計)

同じくAndroid.widgetパッケージに含まれる、DigitalClockクラス。
Androidのソースコードでは、frameworks\base\core\java\android\widget\DigitalClock.java

こちらも約140行と短いソースコードですが、基本となるデジタル時計を実装しています。
外観は、「デジタル時計(DigitalClock)を使用するには - 逆引きAndroid入門」からも参照できます。

時計の文字は、TextViewを使用しています。
時計の更新は、1秒毎に行われるのですが、このきっかけを作っているのは、
onAttachedToWindow()で、Handlerに対して1秒後にpostAtTime()している処理です。


3.AlarmClock(アラーム付きデジタル時計)

AndroidにプレインストールされているAlamClockアプリケーション。
Androidのソースコードでは、packages\apps\AlarmClock

アラーム機能を実装しているため、同機能を実装する際に参考になります。

時計の更新は、上述したAnalogClockと同じ仕組みです。


4.GlobalTime

OpenGL ESを使用。
Androidのソースコードでは、development\samples\GlobalTime\src\com\android\globaltime

時計の更新は、連続して行われるのですが、このきっかけを作っているのは、
GlobalTIme.javaのhandleMessage()で、sendEmptyMessage()している処理です。
※仕組みとしては、上述したDigitalClockと同じですが、さらに更新間隔が短いです。

トラックバック(0)

トラックバックURL: http://mt.adakoda.com/mt-tb.cgi/121

Android Advent Calendar 2011

2012年2月

      1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29