Gestern habe ich eine eigene digitale Uhr programmiert. Ich habe den Google Blog verwendet: http://android-developers.blogspot.com/2007/11/stitch-in-time.html für Hilfe.Eigene digitale Uhr mit Daten und Zeit. effizient
Der folgende Code ist das Resulat.
Meine Frage. Ist es eine effiziente Möglichkeit, das Handle von SystemClock.uptimeMillis() zu aktualisieren? Ich dachte, es wäre besser, etwas wie ein Zuhörer zu haben, um rechtzeitig zu wechseln.
Zweite Frage. Ist es für den Prozessor effektiv, den DateFormat.getTimeInstance() Befehl zu verwenden, um die Zeit zu bekommen? Ich benutze es, weil ich nicht weiß, wie man die tatsächliche Zeit von System.currentTimeMillis() berechnet.
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);
}
}
Vielen Dank für Ihre Kommentare.
Felix
dieser Code funktioniert gut. für alle, die einen einfachen Kalender brauchen. – FelixA
für alle, die an einer einfacheren Uhr interessiert sind, können Sie hier nachschauen: http://www.droiddraw.org/widgetguide.html (Analoguhr, Digitaluhr) – FelixA