【发布时间】:2015-01-06 23:04:20
【问题描述】:
我有一个 Android 应用程序,它本质上是一个计时器列表。每个计时器可以有以下字段:
- 标题(字符串,最多255个字符)
- id(整数)
- 秒(整数)
- time_started(整数)
- seconds_left(整数)
- 正在运行(布尔值)
- 顺序(整数)
这些计时器的数量可以是无限的,但对于 pebble watch 应用程序,如果我只发送第一个 n (10, 15, 20) 就可以了。
目前我一直在一次将物品发送到手表,并像这样创建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 发送到手表。
这可行,但速度很慢。我觉得我可以通过在每条消息中包含多个计时器来节省大量时间。但是,考虑到 pebble 手表本身的收件箱大小,以及您必须在 appinfo.json 中硬定义字典的键这一事实,我不确定该怎么做(看起来您不能使用任意键)。
这种事情通常是怎么做的?
【问题讨论】:
标签: android pebble-watch