鸿蒙开源组件——运用内置加速器检测震动

jacksky
发布于 2021-11-29 17:10
浏览
0收藏

 

ShakeDetector

项目介绍

  • 项目名称:ShakeDetector
  • 所属系列:openharmony 的第三方组件适配移植
  • 功能:该库提供了一种简单的方法,可以使用内置的加速度计来检测震动,并在每次发生时在UI线程上触发回调。
  • 项目移植状态:已完成
  • 调用差异:无
  • 开发版本:sdk6,DevEco Studio2.2 Beta1
  • 基线版本:Release 1.0.0

演示效果

鸿蒙开源组件——运用内置加速器检测震动-鸿蒙开发者社区

安装教程

1.在项目根目录下的build.gradle文件中,

allprojects {

    repositories {

       maven {
            url 'https://s01.oss.sonatype.org/content/repositories/releases/'
        }
    }
 }

2.在entry模块的build.gradle文件中,

dependencies {

       implementation('com.gitee.chinasoft_ohos:ShakeDetector:1.0.0')
 
 }

在sdk6,DevEco Studio2.2 beta1下项目可直接运行 如无法运行,删除项目.gradle,.idea,build,gradle,build.gradle文件, 并依据自己的版本创建新项目,将新项目的对应文件复制到根目录下

使用方法

经过上面的配置后,编译后即可生成对应的路由表类,生成的路由表类名统一为RouterRuleCreator:

然后即可通过以下代码进行路由表注册使用:

public class MainAbilitySlice extends AbilitySlice {
    private float sensibilitys;
    private Image image;
    private boolean isFlag = false;
    private CommonDialog mCommonDialog = null;
    private Text textStatus;

    @Override
    public void onStart(Intent intent) {
        super.onStart(intent);
        super.setUIContent(ResourceTable.Layout_ability_main);
        initView();
        ShakeDetector.create(this, new ShakeDetector.OnShakeListener() {
            @Override
            public void OnShake() {
                    addStatusMessage("shake_detected");
                    new ToastDialog(getContext())
                            .setText("Device shaken!")
                            .setAlignment(LayoutAlignment.BOTTOM)
                            .setTransparent(true)
                            .setAutoClosable(true)
                            .show();
            }
        });
    }
    
      @Override
    protected void onStop() {
        super.onStop();
        ShakeDetector.stop();
        addStatusMessage("shake_detector_stopped");
        ShakeDetector.destroy();
        addStatusMessage("Listener Destroyed");
    }

您还可以使用以下方法更改默认配置:

ShakeDetector.updateConfiguration(float sensibility, int numberOfShake);

测试信息

CodeCheck代码测试无异常

CloudTest代码测试无异常

病毒安全检测通过

当前版本demo功能与原组件基本无差异

版本迭代

  • 1.0.0

版权和许可信息

    Copyright 2014 Thomas Bouron.

    Licensed under the Apache License, Version 2.0 (the "License");
    you may not use this file except in compliance with the License.
    You may obtain a copy of the License at

      http://www.apache.org/licenses/LICENSE-2.0

    Unless required by applicable law or agreed to in writing, software
    distributed under the License is distributed on an "AS IS" BASIS,
    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    See the License for the specific language governing permissions and
    limitations under the License.

 

ShakeDetector-master.zip 682.42K 2次下载
已于2021-11-29 17:10:11修改
收藏
回复
举报
回复
    相关推荐