HarmonyOS技术社区 · 2020年10月26日

轻量级智能穿戴读取步数以及心率

896ef4a0745fb383e14326280f2ef33ed5f696.gif

首先吐槽下,代码写了20分钟。制作GIF搞了一个小时,51限制图片大小,又搞了图片压缩半个小时。。。。

作业是开发一个读取步数以及心率的华为手表应用,我这里选择的是开发轻量级智慧穿戴选择JS开发。

1 查看API https://developer.harmonyos.c... 这是官方提供的JS开发API

2 确定使用功能 手表佩戴状态,监听心率,监听运动步数。OK,这里要说的是API对每一种都提供了一对方案一个是监听一个是取消监听。以监听心率来说,当点击开始时要打开心率监听,停止时要取消心率监听。而手表佩戴状态有三个API除了两个监听外还有单独的一个判断是否佩戴,注意这个API只会运行一次。

3 打开开发工具找到模拟器。这里需要对手表模拟器的使用截图说明下。

图片.png

4 具体实现在onShow()生命周期方法中使用sensor.subscribeOnBodyState订阅是否佩戴设备。在onDestroy()销毁方法中使用sensor.unsubscribeOnBodyState();取消订阅是否佩戴设备。页面布局依次是<text>显示心率</text><text>显示步数<text/><input type='button'></input><text>提示穿戴状态</text>。开始运行首先判断手表佩戴状态,开始监听调用API sensor.subscribeStepCounter监听步数sensor.subscribeHeartRate监听心率。停止监听调用API sensor.unsubscribeStepCounter(); sensor.unsubscribeHeartRate();

大概步骤就是如上。

这里需要说明从gif可以看出心率的相应比较慢往往更新了心率后隔几秒才传递到JS,而步数的则是实时更新。不知道是不是官方的BUG。


作者:顶风少年
想了解更多内容,请访问:
51CTO和华为官方战略合作共建的鸿蒙技术社区
https://harmonyos.51cto.com?jssq

推荐阅读
关注数
3010
内容数
446
华为鸿蒙相关技术,活动及资讯,欢迎关注及加入创作
目录
极术微信服务号
关注极术微信号
实时接收点赞提醒和评论通知
安谋科技学堂公众号
关注安谋科技学堂
实时获取安谋科技及 Arm 教学资源
安谋科技招聘公众号
关注安谋科技招聘
实时获取安谋科技中国职位信息