昨日、私は自分のデジタル時計をプログラムします。私はGoogleのブログ:http://android-developers.blogspot.com/2007/11/stitch-in-time.htmlを利用しました。データと時間のある独自のデジタル時計。効率的
次のコードが参考になります。
私の質問。 SystemClock.uptimeMillis()でハンドルを更新するのは効率的な方法ですか?私は時間の変化のためにリスナーのようなものを習う方が良いと思った。
2番目の質問です。プロセッサがDateFormat.getTimeInstance()コマンドを使用して時間を取得するのは間違っていますか? System.currentTimeMillis()から実際の時刻を計算する方法がわからないため、私はそれを使用します。
public class TextClock extends Activity {
private TextView mTimeLabel;
private Handler mHandler = new Handler();
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
mTimeLabel = (TextView) findViewById(R.id.timeLabel);
}
private Runnable mUpdateTimeTask = new Runnable() {
public void run() {
String currentTimeString = DateFormat.getTimeInstance().format(new Date());
String currentDateString = DateFormat.getDateInstance().format(new Date());
mTimeLabel.setText(currentDateString + "\n" + currentTimeString);
mHandler.postAtTime(this, (SystemClock.uptimeMillis() + 1000));
}
};
@Override
protected void onStart()
{
super.onPause();
mHandler.removeCallbacks(mUpdateTimeTask);
mHandler.postDelayed(mUpdateTimeTask, 100);
}
@Override
protected void onPause()
{
super.onPause();
mHandler.removeCallbacks(mUpdateTimeTask);
}
}
ご意見ありがとうございます。それが壊れていない場合は、それを修正していない、つまり、「時期尚早の最適化は諸悪の根源である」:フェリックス
このコードは正常に動作します。シンプルなカレンダーと時計が必要な皆さん。 http://www.droiddraw.org/widgetguide.html(アナログ時計、デジタル時計) – FelixA
はこちらをご覧持つことができます!乾杯フェリックス – FelixA