Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/202.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 检测用户是否正在移动_Android - Fatal编程技术网

Android 检测用户是否正在移动

Android 检测用户是否正在移动,android,Android,我想检测一个用户是否在移动——走路还是跳跃 我找到了这个代码示例 private final SensorEventListener sensorEventListener = new SensorEventListener() { double calibration = SensorManager.STANDARD_GRAVITY; public void onAccuracyChanged(Sensor sensor, int accuracy) {

我想检测一个用户是否在移动——走路还是跳跃

我找到了这个代码示例

private final SensorEventListener sensorEventListener = new SensorEventListener() {
        double calibration = SensorManager.STANDARD_GRAVITY;

        public void onAccuracyChanged(Sensor sensor, int accuracy) {
        }

        public void onSensorChanged(SensorEvent event) {
            double x = event.values[0];
            double y = event.values[1];
            double z = event.values[2];

            double a = Math.round(Math.sqrt(Math.pow(x, 2) + Math.pow(y, 2)
                    + Math.pow(z, 2)));
            currentAcceleration = Math.abs((float) (a - calibration));
它给出的读数在0.01和0.2克之间-我可以用这个例子来检测运动吗??
也许有点离题对不起,如果是这样的话

您需要创建一个日志文件,并写入所有更改的数据,以生成简单的算法

您不需要像0.000000001这样的超深细节检测,只需要像0.000000001这样检测2个浮点

int estimateX=intx*100

在0.75到0.80这样的大范围内移动时保持日志如果你问我们如何知道范围,是的,你需要走着看

继续走


当然,您可以尝试检测从那里获得的数据中的模式。如果它一直像上下一样,那可能是运动。现在你只需要找到一个函数,根据你得到的数据计算移动的概率。像这样的研究论文可能有一些关于这一主题的信息。要做的事情是把这一点,并在它周围添加一些代码,把它放在你的设备上,四处走走,看看它是否有效。现在的x,y,z是加速度。你需要速度,它是v=加速度乘以时间,位置是速度乘以时间的平方。或者a,v=at,&x=vt*t