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

做网站需要哪些技术人员7天学会自媒体短视频制作

做网站需要哪些技术人员,7天学会自媒体短视频制作,舆情网站直接打开,搜索引擎及门户网站介绍总结【HarmonyOS】鸿蒙应用实现手机摇一摇功能 一、前言 手机摇一摇功能,是通过获取手机设备,加速度传感器接口,获取其中的数值,进行逻辑判断实现的功能。 在鸿蒙中手机设备传感器ohos.sensor (传感器)的系统API监听有以下&#xf…

【HarmonyOS】鸿蒙应用实现手机摇一摇功能

一、前言

手机摇一摇功能,是通过获取手机设备,加速度传感器接口,获取其中的数值,进行逻辑判断实现的功能。

鸿蒙中手机设备传感器@ohos.sensor (传感器)的系统API监听有以下:
@ohos.sensor (传感器)官网API

  1. 加速度传感器
  2. 环境光传感器
  3. 气压计传感器
  4. 重力传感器
  5. 陀螺仪传感器
  6. 霍尔传感器
  7. 心率传感器
  8. 湿度传感器
  9. 线性加速度传感器
  10. 地磁传感器
  11. 方向传感器
  12. 计步器传感器
  13. 接近光传感器
  14. 旋转矢量传感器
  15. 大幅动作检测传感器
  16. 佩戴检测传感器

其中摇一摇用到的,加速度传感器是多个维度测算的,是指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 s

2.将x,y,z三个方向的数值进行绝对值处理,获取运动数值

 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 s

3.根据运动数值进行判断,是否符合摇一摇的运动区间

        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';

struct SensorTestPage {private TAG: string = "SenorTestPage";private SWING_VAL: number = 50; 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.yayakq.cn/news/260045/

相关文章:

  • app开发网站太平洋手机网参数对比
  • 浙江质监站网址推广普通话实践总结
  • 荣耀商城官网网站企查查官网查询
  • 常州网站建设公司信息制作平台app
  • 网页设计的网站做网站需要有公司吗
  • 刘家窑做网站的公司wordpress 开启 gzip
  • 哪个网站做黑色星期五订酒店活动免费咨询贷款
  • 网站建设有什么优势网站宝二级域名怎么设置
  • photoshop+做网站logo手机可以开发软件吗
  • 河南网站建设报价建设工程管理专业学什么
  • 网站做视频在线观看网址腾讯企业服务账号是多少
  • 网站流量数据分析怎么做中小企业网站建设平台
  • 一家专做灯的网站招聘正规的ui设计培训学校
  • 网站开发中期检查买域名网站
  • 天水市建设局企业注册网站海淀区seo搜索优化
  • 环保网站源码asp网站用什么数据库
  • 湖南建设银行2018招聘网站企业网站的基本功能
  • htm网站的维护wordpress文章调用代码
  • node.js做网站wordpress最好选择
  • 昆明做百度网站电话微信手机官方网站首页
  • 专门学设计的网站产品营销推广方式
  • 三门网站建设厦门seo排名优化公司
  • 政务网站建设建议营销渠道管理
  • 网站的设计流程有哪些步骤北京网站建设制作案例
  • 模板网站修改在凡科上做的网站无法加载出来
  • 官网招聘和招聘网站怎么弄一个公司网站
  • t型布局网站怎么做公司网站开发项目
  • 免费咨询医生妇科医生seo网络优化公司哪家好
  • 视频号服务商入驻条件wordpress优化软件
  • 苏州网站建设优化公司网站模板有哪些内容