问题标签 [pebble-watch]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
java - 如何在 pebble 中正确处理 APP_MSG_BUSY?
我正在向我的 Pebble 发送大量数据,但其中一些数据不断丢失。我意识到这部分是由于缓冲区大小不足以PebbleDictionary
我发送它,所以我把它分成多个小块。但是,这会带来APP_MSG_BUSY
错误的问题。
这可能会发生,因为我不是在等待来自卵石的 ack/nack,而是只是背靠背地发送数据。因此,我尝试添加 ack/nack 处理程序以及队列,但由于我的sendMessage()
函数在等待 ack/nack 处理程序时阻塞了主 UI 线程,我无法让它工作。
因此,我的问题是处理这个特定实例的最佳方法是什么APP_MSG_BUSY
。我不希望我发送的任何数据被丢弃,这意味着要么在发送下一条数据之前等待确认,要么在收到 nack 后重新发送。如果可能的话,我想避免线程,但我一直无法想出一个不涉及线程的合理解决方案。
编辑:据我所知,卵石代码中没有错误。它将使用正确的密钥请求数据,并且会(自动)确认 android 应用程序发送的任何消息。
如果您愿意,我在下面发布了我的代码:
当前代码(android应用程序的相关部分):
布尔字典:
这会产生以下错误:
c - 数组的所有元素都被覆盖而不是只有一个?
我的卵石手表内运行了一些 C 代码。它每次都以键值对的形式接收一些数据。它正在接收 5 条数据,每条数据都有正确的键和值,如下所示:
鹅卵石一次接收其中一对,每次它执行以下函数时都会调用(上一行SimpleMenuItem chats[5];
:)
然后将以下内容输出到卵石日志(这是我认为正确的):
所以,虽然一切似乎都是正确的(对我来说),但还是有意想不到的行为。不是每个元素都具有不同值chats
的数组,而是SimpleMenuItem
相同的数据(即最新的)覆盖所有值,即使它(可能)应该只覆盖指定的元素。因此,在发送 5 条数据结束时,整个chats
数组最终被填充SimpleMenuItem
为 value 40
。我觉得这更像是一个 C 问题,而不是一个卵石问题——但如果有人能解决这个问题,我将不胜感激。
谢谢!
c - 将 char 数组转换为字符串 [和 Pebble]
我有一个 char 数组,我试图将其转换为指向字符串的 char 指针。我相信这涉及获取指向 char 数组的第一个元素的指针,并在 char 数组的末尾添加一个空字符。这样做的原因是我试图将它传递给SimpleMenuItem
pebble 智能手表的 a ,其中.title
需要获取 a char*
,指向一个字符串。
虽然我已经能够填充 char 数组并且(我认为)添加了空字符并获得了指针,但我无法在我的鹅卵石上看到标题。我不确定这是一个鹅卵石问题还是我对 C 的理解的问题,但我深感它可能是前者。
卵石代码(C):
如果有人对为什么 pebble 没有显示分配给它的数据有任何建议.title
,我很想听听他们的意见。
谢谢!
javascript - SimplyJS 和 xml :获取键的值
晚上好,
我的 Pebble Watch 项目已经发展,我现在使用官方外部 API 发出 HTTP 请求以获取值。我之前的问题是关于 JSON 的,现在我得到的是 XML 格式的结果。
这是我调用 API 时得到的 XML:
这就是我现在在我的 SimplyJS 脚本中的内容:
结果,完整的 XML 显示在我的 Pebble 上。但我只想获取< text >部分下的内容。
我已经尝试过使用一些“data.text”选择器,比如在 JSON 中,但是我得到了对象错误。
谢谢 !
c - 卵石上的 snprintf 错误
snprintf
Pebble Sdk 2.x 中的实现似乎有些奇怪
我修改了示例程序以显示点击计数器。如果我使用 str[1000] 大小,则以下代码有效
但是如果我将 str 的缓冲区大小减小到 400,应用程序就会崩溃
但同样,如果我将 str 的大小减小到 20,它不会崩溃。相反,它将 buf 截断为 7 个字符;并且在 text_layer 中根本不显示 str 。
当我执行时,非崩溃案例中的值看起来不错
对此的任何帮助表示赞赏。提前致谢。
pebble-watch - 对 pebble-js-sdk 中的蓝牙活动的许可
我知道使用 Pebble C SDK 监听蓝牙连接/断开连接活动。如何使用 javascript SDK 实现相同的功能?
谢谢
javascript - Pebble SDK/SimplyJS 不尊重 \t 字符
\t
在将数据推送到我的手表(使用 SimplyJS)时,我正在尝试让我的 Pebble 手表遵守转义序列字符,这很有趣。
以下片段是我一直在使用的代码:
我目前正在观察的是,\n
正在兑现,我可以看到在我的手表上,每一行数据都显示在单独的行上。但是,似乎 my\t
被忽略了,而不是在我的行中插入选项卡,而是显示零空格(即'my name is' + '\t\t\t' + 'dave'
显示为my name isdave
)。
我还尝试仅使用 Pebble SDK 编译 Hello World 程序(从https://github.com/kristofvc/pebble-hello-world/blob/master/src/pebble_hello_world.c\t\t
获取代码并添加几个要在第 11 行打印的字符串)并且还注意到 SDK支持\n
字符而不是\t
字符(就像我的 SimplyJS 应用程序一样)。
我的问题是:是否可以让 Pebble(通过 SDK 或 SimplyJS)以与打印到控制台时所期望的相同方式显示选项卡?我知道可能不支持 \t 字符,而不是使用\t
我可以只使用空格,但这让我很好奇。
如果您需要更多信息,请告诉我。
提前致谢!
android - Pebble 应用程序安装失败
我使用 CloudPebble 和 Simply.js 为我的 pebble 创建了一个应用程序。
从 Cloudpebble 中的 Simply.js 基础应用程序构建我创建了自己的应用程序并成功安装在 pebble 上。
今天我更改了项目的一些小设置,现在安装(成功构建后)总是失败,显示以下按摩:
安装失败,错误代码 1。请检查您的手机了解详细信息。
收到该消息后,我从 cloudpebble 安装了其他应用程序,以排除连接问题。
有人看过这个错误信息吗?
此致,
恩里克
javascript - how to Dynamically generate JSON in a loop with Js?
I'm making a project with PebbleJS.
i'm a noob and i'm learning little by little..so after recieving a JSON from a webpage and put all the data in localStorage objects, i want to put my variables in a UI.Menu Window, which is basically a JSON variable as you can see in example below:
i tried to make a loop cycle inside but gives me error...(pseudocode)
i need to make this with no jQuery or other JS Frameworks, only pure javascript...
pebble-watch - 如何从命令行工具构建 Pebble.js 项目?
我在 CloudPebble 编辑器中创建了一个新的 Pebble.js 项目,我可以成功构建它并将其从那里推送到我的手表。当我尝试从命令行构建/安装它时出现问题,pebble build
命令返回:
并pebble convert-project
返回命令:
现在我知道了一个事实,我在这里有一个工作的 Pebble 项目,这是 CloudPebble 编辑器创建的确切代码;那么我应该如何使用SDK呢?