我正在尝试创建自己的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上记录错误时,如下所示:
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) 我正在创建一个pebble watch app,我想创建一个表单,用户可以为某些参数提供输入.
喜欢的东西这将成为我不够好,但我不能找到一种方法在文档中创建它(也许我不知道在哪里以及如何找到它).
任何人都可以为我提供更好的方法来完成用户输入功能,还是有人知道这个主题?
ps我希望用户提供2-3个整数,稍后将在应用程序中使用.
刚拿到我的Pebble,我正在玩SDK.我是C的新手,但我知道Objective-C.那么有没有办法创建这样的格式化字符串?
int i = 1;
NSString *string = [NSString stringWithFormat:@"%i", i];
Run Code Online (Sandbox Code Playgroud)
我不能用sprintf,因为没有malloc.
我基本上要显示int与text_layer_set_text(&countLayer, i);
我正在构建一个互联网连接的BitCoin应用程序.观看不同比特币市场的股票信息.一切正常.现在我想将一个可用市场列表发送到手表以显示为菜单.要发送的JSON:
{"markets": ["MtGox", "BitStamp","BTCChina"]}
"市场"在"appinfo.json"中正确键入,因此这不是问题.
如何在Pebble上访问此数组中的元素(单个字符串)?我已经看到了直接访问整数和字符串的例子,这些工作很棒,有什么好的例子吗?我还没找到.
知道为什么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中正确验证.
我正在开发一个pebble.js从GitHub仓库加载的项目.我本质上是在本地编写我的代码,推送到GitHub,然后进入CloudPebble进行构建,因为我的计算机不适合运行SDK.CloudPebble正确地看到我的图像资源,但我无法弄清楚如何引用它.最初,在将子路径移动到resources文件夹之前,它无法找到图像.这允许正确导入,但任何时候我引用我的图像我在应用程序日志中得到这个:
JavaScript Error:
send@[native code]
at load (ui/windowstack.js:2654:22)
at load (lib/image.js:165:11)
at load (ui/imageservice.js:85:16)
at resolve (ui/imageservice.js:109:60)
at ImageType (ui/simply-pebble.js:41:32)
at lib/struct.js:161:32
at menuItem (ui/simply-pebble.js:814:10)
at _resolveItem (ui/menu.js:161:30)
at _preloadItems (ui/menu.js:170:22)
at _resolveSection (ui/menu.js:151:25)
at section (ui/menu.js:239:23)
at updateActivityMenu (app.js:44:18)
at app.js:167:21
at onreadystatechange (lib/ajax.js:109:17)
Run Code Online (Sandbox Code Playgroud)
以下是我的项目结构示例:
/project/resources/images/some_image.png
/project/src/app.js
/project/appinfo.json
Run Code Online (Sandbox Code Playgroud)
这是相关的一点 appinfo.js
"media": [
{
"file": "images/some_image.png",
"name": "MY_IMAGE",
"type": "png"
}
]
Run Code Online (Sandbox Code Playgroud)
最后相关的一点来自 app.js
var item = {
title: data.Response.data.activity.activityName,
subtitle: data.Response.data.activity.activityDescription,
icon: 'MY_IMAGE'
};
Run Code Online (Sandbox Code Playgroud)
我也尝试直接引用 …
我正在使用Pebble SDK 2并遇到图形问题.
我正在尝试添加尺寸为144 x 168的全屏图形,但是,当我这样做时 - 底部会被剪裁.
![[图片]](https://i.stack.imgur.com/dtzIa.png)
进一步调查 - 根层的尺寸为144 x 152而不是144 x 168(Pebble的全屏尺寸).我在添加位图和调用之前将窗口设置为全屏window_stack_push,因此状态栏应该不是问题(尽管状态栏的尺寸应该适合我缺少的空间).
代码如下:
void handle_init(void) {
s_main_window = window_create();
window_set_fullscreen(s_main_window, true);
window_set_window_handlers(s_main_window, (WindowHandlers) {
.load = main_window_load,
.unload = main_window_unload
});
const bool animated = true;
window_set_click_config_provider(s_main_window, click_config_provider);
window_stack_push(s_main_window, animated);
}
static void main_window_load(Window *window) {
// Create GBitmap, then set to created BitmapLayer
s_background_bitmap = gbitmap_create_with_resource(RESOURCE_ID_CHILL_BG5);
s_background_layer = bitmap_layer_create(GRect(0, 0, 144, 168));
bitmap_layer_set_bitmap(s_background_layer, s_background_bitmap);
layer_add_child(window_get_root_layer(window), bitmap_layer_get_layer(s_background_layer));
}
Run Code Online (Sandbox Code Playgroud)
更新的代码:
static void breathe_window_load(Window *window) {
Layer …Run Code Online (Sandbox Code Playgroud) 我说我在c语言编程方面有中级经验,但是我从来没有见过这个语法用来创建函数.这让我想起了JQuery事件的语法.总的来说,我想详细解释这是什么以及替代语法可能是什么.我可以更好地阅读更多有关此内容的链接也很棒.
// Set handlers to manage the elements inside the Window
window_set_window_handlers(s_main_window, (WindowHandlers) {
.load = main_window_load,
.unload = main_window_unload
});
Run Code Online (Sandbox Code Playgroud)
这是Pebble WatchApp教程的代码片段.
我想使用CLION(jetbrains c/c ++ IDE)开发卵石.我知道云卵石,仍然想使用Clion.有人可以告诉我如何设置它,以便:
pebble build && install
.pebble-sdk ×10
pebble-watch ×10
c ×5
ajax ×1
cloudpebble ×1
debugging ×1
function ×1
int ×1
javascript ×1
pebble-js ×1
string ×1