当前位置: 首页 > news >正文

即墨网站优化兰州自媒体公司有哪些

即墨网站优化,兰州自媒体公司有哪些,中国互联网上市公司排名,网页公正流程【HarmonyOS】鸿蒙应用实现手机摇一摇功能 一、前言 手机摇一摇功能#xff0c;是通过获取手机设备#xff0c;加速度传感器接口#xff0c;获取其中的数值#xff0c;进行逻辑判断实现的功能。 在鸿蒙中手机设备传感器ohos.sensor (传感器)的系统API监听有以下#xf…【HarmonyOS】鸿蒙应用实现手机摇一摇功能 一、前言 手机摇一摇功能是通过获取手机设备加速度传感器接口获取其中的数值进行逻辑判断实现的功能。 在鸿蒙中手机设备传感器ohos.sensor (传感器)的系统API监听有以下 ohos.sensor (传感器)官网API 加速度传感器环境光传感器气压计传感器重力传感器陀螺仪传感器霍尔传感器心率传感器湿度传感器线性加速度传感器地磁传感器方向传感器计步器传感器接近光传感器旋转矢量传感器大幅动作检测传感器佩戴检测传感器 其中摇一摇用到的加速度传感器是多个维度测算的是指x、y、z三个方向上的加速度值。 主要测算一些瞬时加速或减速的动作。比如测量手机的运动速度和方向。 当用户拿着手机运动时会出现上下摆动的情况这样可以检测出加速度在某个方向上来回改变通过检测这个来回改变的次数可以计算出步数。 在游戏里能通过加速度传感器触发特殊指令。日常应用中的一些甩动切歌、翻转静音等也都用到了这枚传感器。 注意 至于为什么不用线性加速传感器是因为线性加速度传感器和加速度传感器在定义、工作原理以及应用场景上存在显著的区别。线性主要是来检测物体在直线方向上的位移。 二、功能开发思路 1.根据通过ohos.sensor接口获取加速度传感器的数值添加权限ohos.permission.ACCELEROMETER {name: ohos.permission.ACCELEROMETER,reason: $string:reason,usedScene: {abilities: [EntryAbility],when: always}}sensor.on(sensor.SensorId.ACCELEROMETER, (data: sensor.AccelerometerResponse) {}, { interval: 100000000 }); // 设置间隔为100000000 ns 0.1 s2.将xyz三个方向的数值进行绝对值处理获取运动数值 sensor.on(sensor.SensorId.ACCELEROMETER, (data: sensor.AccelerometerResponse) {console.info(this.TAG, Succeeded in invoking on. X-coordinate component: data.x);console.info(this.TAG,Succeeded in invoking on. Y-coordinate component: data.y);console.info(this.TAG,Succeeded in invoking on. Z-coordinate component: data.z);}, { interval: 100000000 }); // 设置间隔为100000000 ns 0.1 s3.根据运动数值进行判断是否符合摇一摇的运动区间 let x Math.abs(data.x);let y Math.abs(data.y);let z Math.abs(data.z);this.message x : x y: y z: z;if(x this.SWING_VAL || y this.SWING_VAL || z this.SWING_VAL){promptAction.showToast({message: 手机正在摇一摇})}最后一步当然就是使用手机设备进行代码功能效果的验证。 若没有真机设备使用模拟器点击该按钮可实现摇一摇手机的触发。 注意 不使用加速传感器时一定要移除监听。否则会白白损耗性能。 三、源码示例 import { sensor } from kit.SensorServiceKit; import { BusinessError } from kit.BasicServicesKit; import { promptAction } from kit.ArkUI;Entry Component struct SensorTestPage {private TAG: string SenorTestPage;private SWING_VAL: number 50;State message: string ;aboutToAppear(): void {try {// 订阅加速度传感器返回的数据sensor.on(sensor.SensorId.ACCELEROMETER, (data: sensor.AccelerometerResponse) {console.info(this.TAG, Succeeded in invoking on. X-coordinate component: data.x);console.info(this.TAG,Succeeded in invoking on. Y-coordinate component: data.y);console.info(this.TAG,Succeeded in invoking on. Z-coordinate component: data.z);let x Math.abs(data.x);let y Math.abs(data.y);let z Math.abs(data.z);this.message x : x y: y z: z;if(x this.SWING_VAL || y this.SWING_VAL || z this.SWING_VAL){promptAction.showToast({message: 手机正在摇一摇})}}, { interval: 100000000 }); // 设置间隔为100000000 ns 0.1 s} catch (error) {let e: BusinessError error as BusinessError;console.error(this.TAG, Failed to invoke on. Code: ${e.code}, message: ${e.message});}}aboutToDisappear(): void {sensor.off(sensor.SensorId.ACCELEROMETER);}build() {RelativeContainer() {Text(this.message).id(SenorTestPageHelloWorld).fontSize(50).fontWeight(FontWeight.Bold).alignRules({center: { anchor: __container__, align: VerticalAlign.Center },middle: { anchor: __container__, align: HorizontalAlign.Center }})}.height(100%).width(100%)} }注意 记得添加ohos.permission.ACCELEROMETER权限否则无法监听到加速传感器
http://www.hkea.cn/news/14354083/

相关文章:

  • 阿里云网站建设装修方案
  • 贵阳网站开发公司中国域名管理中心
  • 网站被黑 百度跳转汕头网站设计怎么做
  • 做外发的网站免费新闻源发布平台
  • c2c网站名称深圳wordpress
  • 自己做的网站套dedecms教程网站建设公司团队简介
  • 音视频网站建设可行性报告太原网站优化推广
  • 网站建设捌金手指花总二九网站搭建网
  • 浦东新区手机网站建设企业网站开发主要职责
  • 闵行虹桥网站建设记账代理公司
  • 哪些网站容易收录网站开发费怎么做账
  • 北京康迪建设监理咨询有限公司网站6外贸网站建设和网站推广要怎么做
  • 网站建设大体包含wordpress 百度分享
  • 门户网站栏目维护建设方案问卷星网站开发市场调查问卷
  • 淘宝做导航网站有哪些提升学历励志语录
  • 济源建设网站的公司临沂网站建设设计
  • 政务网站网上调查怎么做推广网站
  • 音乐网站开发背景免费微信商城小程序
  • 好的平面设计作品网站google网页版
  • 格尔木哪里有做网站的托管网站费用
  • 外综服务平台哪里做网站网页制作的目的和意义
  • 石家庄市网站制作仿站小工具 wordpress
  • 如何做网站二维码python版wordpress
  • wordpress更改站点名称电脑手机网站建设
  • cnc强力磁盘 东莞网站建设创意个人网页设计
  • wap网站 教程高效的宝安网站推广
  • 郑州网站托管助企网站的备案all
  • 做网站设计收入信息系统开发方法
  • 简述建设网站的步骤6做企业网站的人才
  • 开发一个企业网站报价亚马逊中国网站建设目标