我已经按照鹅卵石表盘的教程进行操作,但做了一些更改,但在日志中出现错误:
忽略无效键:KEY_TEMPERATURE 忽略无效键:KEY_CONDITIONS
这导致没有显示天气我认为它可能是 js 代码,但我已经在教程 main.c 中使用它并且它工作正常。
我已经按照鹅卵石表盘的教程进行操作,但做了一些更改,但在日志中出现错误:
忽略无效键:KEY_TEMPERATURE 忽略无效键:KEY_CONDITIONS
这导致没有显示天气我认为它可能是 js 代码,但我已经在教程 main.c 中使用它并且它工作正常。
您没有appKeys
在appinfo.json
.
Pebble 消息使用整数而不是字符串作为键。但是有一些设施,所以你可以在编码时使用有意义的字符串:
在 PebbleKit JS 消息中使用命名键
PebbleKit JavaScript 提供了一种使用命名键而不是整数键的机制。这提高了 JavaScript 代码的可读性,并允许您将 AppMessage 键的定义分组到一个位置。
键在 CloudPebble 的“设置”屏幕的“PebbleKit JS 消息键”部分中声明。
在原生 SDK 中,命名键是通过文件
appKeys
中的对象配置的appinfo.json
。此对象将整数值与字符串相关联。这些值用于转换传出和传入消息的键。"appKeys": { "firstKey": 0, "secondKey": 1 }
请注意,此处定义的键应与 C 代码中的键匹配,可能通过#define
C 源代码或头文件中的语句。
对于传入消息的每个键,PebbleKit JS 在
appKeys
对象中查找与该键具有相同整数值的元素。如果它可以找到一个,它会用 JavaScript 对象中的这个字符串替换这个键。如果找不到,它会创建一个包含键的整数值的新字符串。对于传出消息的每个键,PebbleKit JS 在
appKeys
对象中查找与该键相等的元素。如果找到一个,它将使用与该元素关联的整数值作为键的整数表示。如果找不到,它会尝试将密钥转换为整数。如果失败,则会引发错误。例如,给定
appKeys
上面的配置,下面的语句是等价的:Pebble.sendAppMessage({ '0': 'A value' }); Pebble.sendAppMessage({ 'firstKey': 'A value' });
Make sure to update your code so that you specify these values in C (which you appear to have done via #define
) and also in JavaScript by means of the appinfo.json
file:
...
"appKeys": {
"KEY_TEMPERATURE": 0,
"KEY_CONDITIONS": 1
},
...