- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
我正在学习表盘开发。我一直在密切关注 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();
}
这是更新时间
:
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
)。
最佳答案
TimeUnits
是位掩码。您设置一个掩码,然后调用一次 tick_timer_service_subscribe
。您使用 DAY_UNITS 进行的第二次通话正在更改您的订阅。要订阅这两个单元,您按位或掩码位:
tick_timer_service_subscribe(MINUTE_UNIT | DAY_UNIT, tick_handler);
请注意您的报价处理程序如何具有 TimeUnits 参数。该参数告诉您哪个单元触发了处理程序。在您的情况下,您总是想更新时间,而 DAY_UNIT 似乎是多余的。但你可以这样做:
static void tick_handler(struct tm *tick_time, TimeUnits units_changed) {
if( (units_changed & MINUTE_UNIT) != 0 ) {
/* Minutes changed */
}
if( (units_changed & DAY_UNIT) != 0 ) {
/* Days changed */
}
}
关于c - 为什么我的 Pebble 表盘不是每分钟更新一次时间?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27004347/
如何从 Pebble 检测摇晃手势? 我只是想在摇动鹅卵石时显示一个文本层... 他们在 SDK 2.0 中添加了一个新的 API: https://developer.getpebble.com/2
我找不到很多关于这个问题的文档。我的 pebble 上所有其他正在运行的应用程序都已连接到我的手机,并且按预期工作。但是,我目前正在处理的 Pebble.js 应用程序只显示 Disconnected
我正在使用此 github 项目中的 Pebble.js 创建我的第一个应用程序 https://github.com/pebble/pebblejs 重点是,我正在尝试让一个应用程序在两个不同的卵石
我正在考虑开始 pebble 开发,但我对 pebble 网站 ( https://developer.getpebble.com ) 感到困惑,他们为 Cloud Pebble 做广告但他们也建议通
我正在使用 Pebble.js 编写一个 Pebble 应用程序,当在整个应用程序中的不同时间按下同一按钮时,它需要运行不同的功能。 我可以轻松地将一个功能与一个按钮相关联: dispWindow.o
我知道如何获取有关固件的元信息,但是使用 Pebble iOS Kit 从我的 Pebble 应用程序的 appinfo.json 获取元信息的正确方法是什么? (即版本标签) 最佳答案 不幸的是,目
我想预先缓存一些位图,然后创建一系列带有小细节的图层。例如 watch 的手。我想这可以通过我手动组合尊重 .a channel 的位图并将其发送到 BitmapLayer 来完成。但我想知道它是否可
我在使 super 基本Pebble tutorial正常工作时遇到麻烦。按照本教程中的步骤操作后,进入pebble build部分,并在收到消息后 'build' finished successf
我正在构建一个互联网连接的BitCoin应用程序。观看来自不同比特币市场的股票行情信息。 一切正常。现在,我想将可用市场列表发送到 watch 以显示为菜单。 要发送的JSON: {"markets"
Pebble 应用程序(在 watch 本身上运行)是否可以仅使用配对手机作为网络网关直接访问互联网(例如从 HTTP REST API 获取数据),而无需编写专门的应用程序或软件支持在手机上运行?
是否可以在 Pebble 表盘中检索“请勿打扰”设置?我想知道我的表盘什么时候应该停止通知用户,但只有在 DND 开启时。我想也有可能获得 24/12 小时模式吗? 最佳答案 看起来像you cann
我正在尝试创建自己的 Pebble 表盘。似乎还没有人做到这一点,也没有 SDK。 到目前为止,我已经发现表盘托管在这里: http://pebble-static.s3.amazonaws.com/
我正在尝试构建一个简单的循环,在其中执行模板 N 次。我编写了一个函数,它接受一个参数并根据它输出字符串,我需要执行它很多次。 如果我明确定义一个范围,则以下内容有效: {% for t in ["0
我为 Android 开发了一个 pebble 伴侣应用程序,当我第一次向 pebble 发送数据(Android 应用程序到 pebble watch )时,它被接受/接收并正确显示在 pebble
我们正在使用pebble引擎,我知道PebbleEngine实例可以重用来解析不同的模板。就我而言,我最初将引擎的加载器设置为 StringLoader 实例,并重用相同的引擎来处理多个不同的模板。我
我一直在尝试让一个应用程序在我的卵石上运行一段时间,我终于让它运行了。这是一个体育计数器,可以记录两支球队的得分,中间还有一个内置秒表。一切正常,但如果秒表运行 42 秒,则计数器的字体会变得非常小。
我正在创建一个非常简单的卵石应用程序。 目标:当我单击 Android 应用程序时,Pebble 应用程序会显示我从 Android 应用程序发送的消息。 问题:文本不会更改/显示在卵石上。 代码 P
我正在使用带有 Spring Boot 2 的 Pebble 模板引擎,在我开始使用继承之前一切都工作正常。浏览器显示一个空白页面,根本没有返回任何内容。不幸的是,服务器和 Catalina(我使用的
我使用 CloudPebble 和 Simply.js 为我的 pebble 创建了一个应用程序。 从 Cloudpebble 中的 Simply.js 基础应用程序构建我创建了自己的应用程序并成功安
我正在尝试使用自定义字体和位图图像创建一个简单的表盘。当我刚刚显示时间时,它工作正常。我只使用了 1 个 TextLayer。 static TextLayer *s_time_layer; 然后我决
我是一名优秀的程序员,十分优秀!