Microsoft Band 开发 (1) – 连接设备并进行简单操作

一、准备工作

去年10月,微软发布了微软手环,并在几个月后发布了相应平台的SDK并在持续更新中。今天,我们就来说说在Windows Phone当中进行MS Band应用的开发。

所谓Band开发,你写的App其实在根本上是运行在你手机上的,Band只用于呈现信息、采集信息和显示通知。当然,Band上强大的传感器也可以帮助你构建更牛逼的健康类应用。我就抛砖引玉地来给大家简单说说Band开发的所需的基础知识。

首先,创建一个WP8.1(RT)的空白项目,下载并引用Band SDK(可以在Nuget上获取)。

打开项目中的Package.appxmanifest文件,在“功能”选项卡(Capabilities)中勾选 “临近”(Proximity)。

然后右键Package.appxmanifest,选择查看代码,在 <Capabilities> 标签内下加入如下代码:

<m2:DeviceCapability Name="bluetooth.rfcomm">      

<m2:Device Id="any">        

<!-- Used by the Microsoft Band SDK -->        

      <m2:Function Type="serviceId:A502CA9A-2BA5-413C-A4E0-13804E47B38F" />   

<!-- Used by the Microsoft Band SDK -->        

      <m2:Function Type="serviceId:C742E1A2-6320-5ABC-9643-D206C677E580" />      

    </m2:Device>    

</m2:DeviceCapability>

二、获取设备列表

现在,准备工作就做得差不多了。可以正式开始写代码了。先在MainPage中放一个ListBox,名字就叫DevicesListBox,再弄一个Button。我们要做的就是在按下Button之后,显示已经配对或连接的手环设备。

进入MainPage.xaml.cs,using一下Microsoft.Band这个命名空间。给Button的Click处理方法加入async关键字使其成为异步方法,因为我们一会要异步获取手环列表。在Button_Click中加入下列代码。

IBandInfo[] pairedBands = await BandClientManager.Instance.GetBandsAsync();

这样,我们就得到了一个包含已配对或连接的手环的列表。这个IBandInfo接口提供了两个常用的属性:Name和ConnectionType,分别用于获取手环的名称和连接方式(一般是蓝牙)

所以,比如我们想把pairedBands列表中手环的名称依次显示在DevicesListBox列表中,只需用foreach遍历每一项然后将Name属性添加到DevicesListBox中即可,如下。:

foreach (var b in pairedBands)

{

     DevicesListBox.Items.Add(b.Name);

}

三、连接手环

使用BandClientManager.Instance.ConnectAsync(IBandInfo bandInfo);方法来连接到指定的Band设备。

具体实现如下:

using (IBandClient bandClient = await BandClientManager.Instance.ConnectAsync(pairedBands[DevicesListBox.SelectedIndex]))

{

    //告知用户连接成功           

}

因为IBandClient实现了IDisposable接口,所以可以用using(){}的形式,便于释放资源。

而为了应对在连接过程中可能出现的异常,最好使用try-catch来处理异常并告知用户。

四、获取信息

在IBandClient中有两个常用的方法,用于获取用户连接的手环的软硬件信息。

分别是:

GetFirmwareVersionAsync();   获取手环的固件版本

GetHardwareVersionAsync();   获取手环的硬件版本

两个方法都返回 string

五、总结

今天在这篇文章里简单地介绍了一下微软手环应用的开发,事实上还只是连接,还没有到具体的开发这一步,在下一篇文章中,我应该会讲一下在Band上进行和动态磁贴有关的操作。之后还会讲如何在手环上创建UI之类的。

但是现在Band在中国依然是不温不火的状态,主要是由于没有在中国发售和不支持中文的缘故。最近也有各种说法说微软正在研发Band 2代,应该会弥补1代的不足,而对于开发者来说,2代的开发我预感不会有特别大的区别。所以,现在有Band的开发者可以学习手环应用的开发,而还没有Band的开发者,也可以简略了解一下,为将来2代手环的开发打一些基础。万一Band 2能比Apple Watch更成功呢?(尽管不太可能2333。。)

时间: 2024-08-29 03:35:57

Microsoft Band 开发 (1) – 连接设备并进行简单操作的相关文章

Microsoft Band 开发 (2) – 传感器

距离上一次发文已经过去三个月了,三个月里发生了好多事情,然后忙这个忙那个也都没时间继续把这个有关 Band 开发的文章继续下去,今天正好有些时间,就把关于读取传感器数据的一些事情说了吧. 还有就是在10月6日的发布会上,微软发布了第二代微软手环,传感器更加丰富,使用曲面屏幕,以及各种牛逼的功能.就算在这里做个广告(不过能找到这篇文章的也都应该知道这件事情了吧. 然后这是 Band 2的宣传片(中文字幕) http://www.bilibili.com/video/av3021636/ 第二代MS

Microsoft Azure开发体验 – 网络报名系统

去年底RP好抢到了中国版Azure的使用机会,最近社团里讨论到9月份招新的问题,就用Azure Website和Azure Table Storage打造了这个报名系统. 网站放在 http://joinzjazure.chinacloudsites.cn/ ,一个很简单的页面,用的是bootstrap的CSS,针对不同分辨率的屏幕做了优化,在手机上也可以有不错的体验. 基础知识 阅读本文,我假定你具有以下知识: C# 基础知识 ASP.NET MVC 基础知识 知道 Azure 的概念 ASP

iOS开发UI篇—xib的简单使用

iOS开发UI篇—xib的简单使用 一.简单介绍 xib和storyboard的比较,一个轻量级一个重量级. 共同点: 都用来描述软件界面 都用Interface Builder工具来编辑 不同点: Xib是轻量级的,用来描述局部的UI界面 Storyboard是重量级的,用来描述整个软件的多个界面,并且能展示多个界面之间的跳转关系 二.xib的简单使用 1.建立xib文件 建立的xib文件命名为appxib.xib 2.对xib进行设置 根据程序的需要,这里把view调整为自由布局 建立vie

手把手教你开发chrome扩展一:开发Chrome Extenstion其实很简单

手把手教你开发chrome扩展一:开发Chrome Extenstion其实很简单 手把手教你开发chrome扩展一:开发Chrome Extenstion其实很简单 手把手教你开发Chrome扩展二:为html添加行为 手把手教你开发Chrome扩展三:关于本地存储数据 Chrome的更新速度可以说前无古人,现在我每天开机的第一件事就是打开Chrome检查是不是有了新版本.界面清爽.操作人性化.网络备份资料和快速的启动速度令我爱不释手,还有它拥有众多的扩展程序,相对于firefox的插件来说,

文顶顶 iOS开发UI篇—xib的简单使用

iOS开发UI篇—xib的简单使用 一.简单介绍 xib和storyboard的比较,一个轻量级一个重量级. 共同点: 都用来描述软件界面 都用Interface Builder工具来编辑 不同点: Xib是轻量级的,用来描述局部的UI界面 Storyboard是重量级的,用来描述整个软件的多个界面,并且能展示多个界面之间的跳转关系 二.xib的简单使用 1.建立xib文件 建立的xib文件命名为appxib.xib 2.对xib进行设置 根据程序的需要,这里把view调整为自由布局 建立vie

iOS开发—音频的播放的简单介绍和封装工具类

iOS开发—音频的播放的简单介绍和封装工具类 一.音效的播放简单介绍 简单来说,音频可以分为2种 (1)音效 又称“短音频”,通常在程序中的播放时长为1~2秒 在应用程序中起到点缀效果,提升整体用户体验 (2)音乐 比如游戏中的“背景音乐”,一般播放时间较长 框架:播放音频需要用到AVFoundation.framework框架 二.音效的播放 1.获得音效文件的路径 NSURL *url = [[NSBundle mainBundle] URLForResource:@"m_03.wav&qu

小程序开发工具教程汇总,亲测无需代码,简单操作,可二次开发!

制作小程序要简单点,开发的方式简单点.所以!不得不扒一扒这款开发工具某即速应用,无需代码,简单操作,还可套用模板快速生成小程序代码包,支持二次开发.当然市面上还有很多款小程序编辑器,但大部分还是那种开发接单的,水太深了,交不起学费,还是自己来琢磨吧!大家有什么好的小程序工具类可以分享给我! 以下将我网上参与学习培训总结的一些资料文档分享出来,供大家参考学习.特别是不懂代码的朋友,这款开发工具还是可以试试的!容易上手! 当然首先,我们还是要先下载:最新版的微信开发者工具(方便进入代码二次编辑) 接

iOS开发UI基础—xib的简单使用

iOS开发UI基础-xib的简单使用 一.简单介绍 xib和stotyboard的比较,一个轻量级一个重量级. 二.xib的简单使用 1.建立xib文件 建立的xib文件命名为appxib.xib 2.对xib进行设置 根据程序的需要,这里把view调整为自由布局 建立view模型(设置长宽等参数) 调整布局和内部的控件 完成后的单个view 3.使用xib文件的代码示例 YYViewController.m文件代码如下: 1 // 2 // YYViewController.m 3 // 10

qt-qml移动开发之在ios上开发和部署app流程简单介绍

qt5.3已经全面支持移动开发,除了mac,windows,linux.还支持ios,android,wp,meego等移动平台,本教程是作者依据自己的经验,从头讲怎么样在ios上公布自己的app.因为眼下国内相关文章还比較少,可能文章里有所疏漏,或者并不是最优方法. 软件准备:qt5.3 , xcode 5.1.1 编译环境: Mac os Qt5.3下载地址http://qt-project.org选择相应的Mac ox版本号,支持iOS和android的版本号.安装过程省略 Xcode在a