ウォッチフェイスの開発を学んでいます。私は Pebble ガイドに厳密に従っているので、私のコードの 80% はサンプル コードと同じです。おそらく非常に小さな何かが欠けているのでしょうが、私の顔はタイム サービスに正しく登録されていないようです。
私は何を間違っていますか?
でinit()
、私は持っています:
tick_timer_service_subscribe(MINUTE_UNIT, tick_handler);
tick_timer_service_subscribe(DAY_UNIT, tick_handler);
ここにありtick_handler
ます:
static void tick_handler(struct tm *tick_time, TimeUnits units_changed) {
update_time();
}
ここにありupdate_time
ます:
static void update_time() {
time_t temp = time(NULL);
struct tm *tick_time = localtime(&temp);
static char time_buffer[] = "00:00";
static char date_buffer[] = "00/00/00";
if (clock_is_24h_style() == true) {
strftime(time_buffer, sizeof(time_buffer), "%H:%M", tick_time);
} else {
strftime(time_buffer, sizeof(time_buffer), "%I:%M", tick_time);
}
text_layer_set_text(s_time_layer, time_buffer);
strftime(date_buffer, sizeof(date_buffer), "%D", tick_time);
text_layer_set_text(s_date_layer, date_buffer);
}
フェイスは、( を呼び出してupdate_time
) 最初に読み込まれた時刻のみを更新します。