标签: pebble-watch

Pebble Watch Faces

我正在尝试创建自己的Pebble表盘.似乎还没有人这样做,并且没有SDK.

到目前为止,我已经发现表盘是在这里托管的:http: //pebble-static.s3.amazonaws.com/watchfaces/index.html

每个表盘都是一个.pbw文件,它是一个zip文件.里面有3个文件:app_resources.pbpack,manifest.json和pebble-app.bin.

JSON文件包含表面(图像)的所有部分的列表,这些部分似乎是一个应用程序..bin文件可能是可执行二进制文件,.pbpack文件可能是所有资源的捆绑包.我无法弄清楚如何提取.pbpack文件.我也不确定如何处理.bin文件.

我想在这里发布我的进展:http://hackingpebble.tumblr.com

有关如何处理.pback和.bin文件的任何想法?

pebble-watch pebble-sdk

14
推荐指数
2
解决办法
6516
查看次数

Android - 正确更新通知进度条

我仍然是Android的新手,我正在努力改进我的通知进度条以使其更顺畅,不会为我的Pebble点燃一百万次更新并以"正确的方式"进行.此代码工作"正常",就像我使用它时,通知绘制和进度条按预期完成.

当我将Pebble手表设置为接受我的应用程序通知时,这对我来说成了一个问题.这导致每个上传的图像振动约50次,具体取决于上传速度的速度.

作为一个初学者,我认为我这样做是错的,有一个更好的方法来做我想做的事情.

我的通知的进度条使用以下代码更新:

private int upload_progress;
private Long time_previous_progress = Calendar.getInstance().getTimeInMillis();

protected void onProgressUpdate(Integer... progress) {
    Long time_now = Calendar.getInstance().getTimeInMillis();
    if(
       ((time_now - time_previous_progress) < 55) // 55ms minimum delay
       || (progress[0] < 0 && progress[0] > 100)  // progress >0 && <100
       || progress[0].equals(upload_progress)     // progress changed
       || ! App.getStatus()                       // watcher is running
       )
    {
        return;
    }
    time_previous_progress = time_now;
    upload_progress = progress[0];
    int upload_counter = getUploadCounter();
    int upload_total = db.getReadyImagesCount();
    NotificationHandler.notify(context, upload_progress, upload_counter, (upload_total + upload_counter)); …
Run Code Online (Sandbox Code Playgroud)

notifications android progress android-notifications pebble-watch

12
推荐指数
3
解决办法
5790
查看次数

如何接收其他应用的推送通知?

你们大多数人都可能知道鹅卵石手表,这款手表会收到你手机推送通知.

他们能够接收一些通知.

  • 来电来电显示
  • 电子邮件(Gmail或任何IMAP电子邮件帐户)
  • Android和iPhone上的短信
  • iMessage(仅限iOS)
  • 日历提醒
  • Facebook消息
  • 推特
  • 天气警报
  • 静音振动报警和定时器

我怎么能这样做?也许他们使用facebook api或类似的东西写了一些他们自己的通知.但是如何用短信和电话做到这一点?

你能收到什么通知?

notifications push ios pebble-watch

11
推荐指数
2
解决办法
5902
查看次数

在鹅卵石手表上记录枚举

当我在Pebble上记录错误时,如下所示:

static void message_dropped(AppMessageResult reason, void *context) {
  APP_LOG(APP_LOG_LEVEL_DEBUG, "Message dropped. Reason: %d", reason);
}
Run Code Online (Sandbox Code Playgroud)

我只是得到错误消息的int值.是否有一种简单的方法来记录枚举的文本?喜欢:

static void message_dropped(AppMessageResult reason, void *context) {
  APP_LOG(APP_LOG_LEVEL_DEBUG, "Message dropped. Reason: %fancy", reason);
}
// Would return "APP_MSG_BUFFER_OVERFLOW"
Run Code Online (Sandbox Code Playgroud)

c debugging pebble-watch pebble-sdk

10
推荐指数
1
解决办法
2035
查看次数

在蓝牙连接事件中发送消息时不接收AppMessage回调

标题总结了它.同样的问题在这里.发布SO以查看我是否可以获得任何帮助.我还做了一个几乎最小的项目来演示我面临的问题,所以后面的链接指向所提到的代码片段.

我目前正在做的事情一无所知:

  1. 使用时,我的表盘会通知手机的蓝牙连接已启动.pebble_app_connection_handler.
  2. 蓝牙回调我设置了,我一个消息到手机上使用app_message_outbox_send().当然,当BT连接启动时.
  3. 我的Android应用程序有一个BroadcastReceiver侦听这些消息并调用IntentService.
  4. 这将IntentService 计算数据,将其推送到手表并在一段时间后将其设置为再次运行.

我期待的是:

  1. 当BT连接启动时,将调用连接处理程序.
  2. app_message_outbox_send()返回一个值,告诉消息启动是否有任何错误.通常,这是APP_MSG_OK,但它可以APP_MSG_BUSY,而且我完全清楚这一点.
  3. 调用app消息回调(app_message_register_inbox_received和朋友)以指示向电话发送消息的异步过程是否真的有效.这在文档中说明.

我所看到的:

加载表盘时会发生预期的步骤,因为我会手动触发更新.但是,当BT连接事件触发更新时,会发生预期的步骤1和2,但不会执行步骤3.

这是特别严重的,当我APP_MSG_OK在第2步,因为我应该有理由期待手表的一切都OK,我就准备自己接受一些应用程序消息回调里面.基本上,文档告诉我等待一个永远不会到来的电话.

这种情况100%发生.

感谢您的任何帮助.我有另一个解决方案,使用手表来跟踪更新间隔,但我相信这个允许我通过利用最近的Android功能节省更多的电池.

asynchronous bluetooth callback pebble-watch pebble-appmessage

10
推荐指数
1
解决办法
132
查看次数

如何在鹅卵石手表中创建表格

我正在创建一个pebble watch app,我想创建一个表单,用户可以为某些参数提供输入.

喜欢的东西将成为我不够好,但我不能找到一种方法在文档中创建它(也许我不知道在哪里以及如何找到它).

任何人都可以为我提供更好的方法来完成用户输入功能,还是有人知道这个主题?

ps我希望用户提供2-3个整数,稍后将在应用程序中使用.

c pebble-watch pebble-sdk

10
推荐指数
1
解决办法
191
查看次数

如何使用C中的Pebble SDK将int转换为字符串

刚拿到我的Pebble,我正在玩SDK.我是C的新手,但我知道Objective-C.那么有没有办法创建这样的格式化字符串?

int i = 1;
NSString *string = [NSString stringWithFormat:@"%i", i];
Run Code Online (Sandbox Code Playgroud)

我不能用sprintf,因为没有malloc.

我基本上要显示inttext_layer_set_text(&countLayer, i);

c string int pebble-watch pebble-sdk

8
推荐指数
1
解决办法
4028
查看次数

在Pebble上访问AppMessage数组中的字符串

我正在构建一个互联网连接的BitCoin应用程序.观看不同比特币市场的股票信息.一切正常.现在我想将一个可用市场列表发送到手表以显示为菜单.要发送的JSON:

{"markets": ["MtGox", "BitStamp","BTCChina"]}

"市场"在"appinfo.json"中正确键入,因此这不是问题.

如何在Pebble上访问此数组中的元素(单个字符串)?我已经看到了直接访问整数和字符串的例子,这些工作很棒,有什么好的例子吗?我还没找到.

pebble-watch pebble-sdk

6
推荐指数
1
解决办法
1122
查看次数

XMLHttpRequest无法进行基本身份验证

知道为什么XMLHttpRequest使用正确的凭据在Pebble JS FrameworkAndroid上的基本身份验证失败但在iOS中有效吗?

完全相同的代码,类似于:

var req = new XMLHttpRequest();
req.open(method, url, true, user, pass);
req.send(data);
req.onreadystatechange = function() { ... }
Run Code Online (Sandbox Code Playgroud)

从Android Pebble应用程序返回401,但在iOS中正确验证.

ajax xmlhttprequest pebble-watch pebble-sdk

6
推荐指数
1
解决办法
2万
查看次数

C中的电报客户端

我正在调查C中的Telegram客户端,以便我可以为Pebble smartwatch/s编写客户端.我理解Pebble方面,以及此处显示的所有Telegram方法,但我完全不知道如何在C中发送这些方法.

我认为它与"TL语言"和MTProto服务有关,但我认为这些东西超出了我目前的理解.我也找到了这个代码集,但又一次,不知道如何使用它https://github.com/vysheng/tgl/.

编辑1:

在手机上运行PebbleKitJS部分的基于C的应用程序似乎是最佳途径.有关使用JS实现MTProto的任何帮助吗?

c tcp pebble-watch telegram mtproto

6
推荐指数
1
解决办法
1059
查看次数