我正在尝试从here运行pebble-faces示例项目(它从URL下载图像并将其发送到监视面)。我尝试在CloudPebble和本地C SDK模拟器上运行该项目。我得到了相同的结果。我认为将应用消息发送到javascript有问题。这是来自cloudpebble的日志:
public class Index {
void tellme(String yourname) {
/* ... */
}
public static void main(String[] args) throws Exception {
Method tellme = Index.class.getDeclaredMethod("tellme", String.class);
Method java8Params = null;
try {
java8Params = Method.class.getMethod("getParameters");
} catch (NoSuchMethodException t) { /* ignore */ }
if (java8Params != null) {
// java 1.8 !!
Object param = ((Object[]) java8Params.invoke(tellme))[0];
System.out.printf("(java8) %s %s(%s %s){/*...*/}",
tellme.getReturnType(),
tellme.getName(),
param.getClass().getMethod("getType").invoke(param),
param.getClass().getMethod("getName").invoke(param));
} else {
// java 1.7 ...
System.out.printf("(java7) %s %s(%s %s){/*...*/}",
tellme.getReturnType(),
tellme.getName(),
tellme.getParameterTypes()[0].getName(),
"arg0");
}
}
}
我尝试做更多调试。这是有问题的功能:
def rand_constrained(n,tot):
r = [random.random() for i in range(n)]
s = sum(r)
r = [(i/s*tot) for i in r]
return r
注意:我添加了用于调试的APP_LOG和app_message_open(文档说这是为了最佳实践)。 app_message_open没有任何效果,问题仍然存在。
是否发生此问题是因为我正在使用模拟器?我没有改变这个项目代码中的任何其他内容..
答案 0 :(得分:0)
你的问题是JS开始花费比应用程序更长的时间。消息在准备好接收之前发送到JS模拟器。如果你"摇晃"手表(发送点击事件),它会再次尝试传输图像。
要与模拟器进行交互,请单击侧面的按钮,或单击屏幕,然后使用按钮的箭头键。在键盘模式下,您也可以按X,Y或Z按正方向点击,或按Shift-X,shift-Y或shift-Z按向负方向点击。
(Source)