codecamp

鸿蒙OS 打造智能穿戴应用

在开始进行智能穿戴应用开发前,请参考 DevEco Studio快速开始完成环境搭建、创建并运行一个项目。设备类型选择“Wearable”。

智能穿戴应用支持 Java 和 JS 两种开发模式。但以下两种场景,暂时仅支持使用 Java 开发:

  1. 如果开发的应用内嵌算法,需要通过 JNI (Java Native Interface,Java 本地接口)调用 so 库中的函数。
  2. 应用需要较高的运算效率。

下面将介绍如何使用 JS 和 JAVA 开发一个睡眠检测应用界面。

适配圆形屏幕

在 HarmonyOS 智能穿戴应用的开发中,请使用通用的 UI 控件。针对圆形的智能穿戴,开发者需要将应用界面适配圆形屏幕,以带来更好的用户体验。应用在实际显示时仅会显示界面设计中的部分圆形界面,如示例图所示。

开发一个宽 400 高 1200 的竖长型界面,当上下滑动的时候,用户只能看到橘色圆圈内部的样式,其余部分不会展示。所以开发者在进行界面设计时,需要根据智能穿戴形状进行设计适配。

另外,穿戴设备的界面一般支持右滑退出,所以需要在 PageAblity 启动时进行设置,在 onStart 里调用 setSwipeToDismiss(true),便于右滑退出。

图1 圆形屏幕内容展示示例图 点击放大

调试应用

在开启应用调试之前,需要在智能穿戴上开启开发者模式。

  1. 进入“设置 > 关于手表”,查看智能穿戴设备信息。滑动到“版本号”的位置,点击 3 次,开启开发者模式。
  2. 返回设置界面,进入新出现的“开发人员选项”界面,打开“开发人员选项”开关。

部分智能穿戴仅支持无线充电,开发者无法通过 USB 连接方式去开发和调试应用,可以通过 WLAN 进行调试。调试方法如下:

  1. 使用路由器设置一个无密码的 WLAN 网络,将开发应用的PC接入该路由器。
  2. 打开智能穿戴的“设置 > WLAN”,打开 WLAN 开关,将智能穿戴接入上述 WLAN 网络。
  3. 进入开发人员选项,查看IP地址。
  4. 在PC端打开DevEco Studio,在上方导航栏选择“Tools > IP > Connect” 。
  5. 在弹出的窗口中,输入智能穿戴的 IP 地址。完成连接,可以开始进行应用调试。

当不需要进行应用调试时,可以进入“设置 > 开发人员选项”,关闭“开发人员选项”开关,退出开发者模式。

鸿蒙OS 智能穿戴概述
鸿蒙OS 添加智能穿戴模块
温馨提示
下载编程狮App,免费阅读超1000+编程语言教程
取消
确定
目录

鸿蒙OS 开发

鸿蒙OS 术语

鸿蒙OS Java API参考

鸿蒙OS ohos.aafwk.ability

鸿蒙OS ohos.aafwk.abilityjet.activedata

鸿蒙OS ohos.aafwk.content

鸿蒙OS java.lang

鸿蒙OS java.Util

鸿蒙OS java.Util class

鸿蒙OS ohos.data.dataability

鸿蒙OS ohos.data.dataability class

鸿蒙OS ohos.agp.components

鸿蒙OS ohos.agp.components interface

鸿蒙OS ohos.agp.components class

鸿蒙OS ohos.global.configuration

鸿蒙OS java.io

鸿蒙OS ohos.data.resultset

鸿蒙OS ohos.data.resultset interface

关闭

MIP.setData({ 'pageTheme' : getCookie('pageTheme') || {'day':true, 'night':false}, 'pageFontSize' : getCookie('pageFontSize') || 20 }); MIP.watch('pageTheme', function(newValue){ setCookie('pageTheme', JSON.stringify(newValue)) }); MIP.watch('pageFontSize', function(newValue){ setCookie('pageFontSize', newValue) }); function setCookie(name, value){ var days = 1; var exp = new Date(); exp.setTime(exp.getTime() + days*24*60*60*1000); document.cookie = name + '=' + value + ';expires=' + exp.toUTCString(); } function getCookie(name){ var reg = new RegExp('(^| )' + name + '=([^;]*)(;|$)'); return document.cookie.match(reg) ? JSON.parse(document.cookie.match(reg)[2]) : null; }