Microsoft Band Android Tile XML

时间:2015-11-03 01:49:45

标签: android tile microsoft-band

我正在使用Microsoft SDK和Android Studio为Band 2开发应用程序。我已经在我的设备上成功测试了该应用程序,但我遇到的问题是应用程序如何链接到磁贴以及该磁贴如何添加到健康应用程序。

表示XML位于何处?我阅读了Microsoft Band SDK.pdf部分8.8 SIMPLE CUSTOM TILE EXAMPLE。该示例未指定代码需要驻留的位置。我是否需要将其添加到应用程序的类文件或其他文件中?在Android Studio中创建了瓷砖图标的位置,如果是,在哪里?

如何将类,tile xml和icon安装到乐队中的示例将很好。

谢谢!

1 个答案:

答案 0 :(得分:0)

SDK包含一些示例 - 请查看名为BandTileEvent的示例以查看完整实现。快速版本是您的磁贴创建代码应该创建一系列布局(包含带ID的元素)和图标,然后更新您将选择布局并为元素的ID分配值。样本中的关键元素如下所示(为便于阅读而修改):

private PageLayout createButtonLayout() {
    return new PageLayout(
            new FlowPanel(15, 0, 260, 105, FlowPanelOrientation.VERTICAL)
                .addElements(new FilledButton(0, 5, 210, 45).setMargins(0, 5, 0 ,0).setId(12).setBackgroundColor(Color.RED))
                .addElements(new TextButton(0, 0, 210, 45).setMargins(0, 5, 0 ,0).setId(21).setPressedColor(Color.BLUE))
            );
}

这将创建在磁贴创建过程中使用的PageLayout对象。这个方法应该像这样使用:

    BandTile tile = new BandTile.Builder(YOUR_TILE_UUID, "Tile Title", tileIconBitmap)
        .setPageLayouts(createButtonLayout())
        .setPageIcons(getIconsToUse())
        .build();
    client.getTileManager().addTile(context, tile);

一旦磁贴在乐队上,您需要发送更新 - 它应该看起来像这样:

private void updatePages() throws BandIOException {
    client.getTileManager().setPages(tileId, 
            new PageData(pageId1, 0)
                .update(new FilledButtonData(12, Color.YELLOW))
                .update(new TextButtonData(21, "Text Button")));
}

一旦磁贴在你的乐队上,你就可以注册一个会返回这些事件的意图过滤器。检查SDK示例中使用的确切意图 - 当打开,关闭并按下其上的按钮时,您将收到通知。