我有一个Android应用程序,基本上是一个计时器列表。每个计时器可以包含以下字段:
这些计时器可以有无限数量,但对于卵石监视应用程序,如果我只发送第一个 n (10,15,20),它就可以了。 / p>
目前,我一直将这些项目发送到手表,并像这样创建PebbleDictionary
:
private PebbleDictionary buildTimerDictionary(Timer timer) {
PebbleDictionary data = new PebbleDictionary();
data.addUint32(C.KEY_ID, timer.getId());
data.addUint32(C.KEY_SECONDS, (int)timer.getSeconds());
data.addString(C.KEY_DESCRIPTION, timer.getDescriptionFormatted());
data.addUint32(C.KEY_TIME_STARTED, (int)timer.getTimeStarted());
data.addUint32(C.KEY_TIME_LEFT, (int)timer.getSecondsLeft());
data.addUint8(C.KEY_RUNNING, (byte)(timer.isRunning() ? 1 : 0));
data.addUint32(C.KEY_ORDER, (int)timer.getOrder());
data.addString(C.KEY_TIME_DISPLAY, timer.getSecondsFormatted());
return data;
}
通过一个队列发送它,该队列在上一个PebbleDictionary被激活之后将其发送到手表。
这很有效,但速度很慢。我觉得通过在每条消息中包含多个计时器可以节省大量时间。但是,我不知道怎么做,考虑到卵石手表本身的收件箱大小,以及你必须在appinfo.json中难以定义字典键的事实(它似乎没有看起来就像你可以使用任意键一样。)
这种事情通常怎么做?
答案 0 :(得分:1)
有两种方法可以做到这一点:
一些评论:
appinfo.json
中定义键是可选的,仅在使用PebbleKit JavaScript时才有用。对于与PebbleKit Android交谈的应用程序,它绝对没用。app_message_inbox_size_maximum()
在Pebble上查询可用的缓冲区大小。在您启动应用程序并将其从Pebble发送到Android应用程序时获取它。