gpt4 book ai didi

Android 加速度计数据类

转载 作者:行者123 更新时间:2023-11-29 21:48:26 28 4
gpt4 key购买 nike

我有以下类从 accelerometer 读取数据:

  public class Accelerometer implements SensorEventListener {

private SensorManager mSensorManager;
private Sensor mAccelerometer;

float deltaX;
float deltaY;
float deltaZ;

Activity activity;

public Accelerometer(Activity act)
{
this.activity = act;
mSensorManager = (SensorManager) this.activity.getSystemService(Context.SENSOR_SERVICE);
mAccelerometer = mSensorManager.getDefaultSensor(Sensor.TYPE_ACCELEROMETER);
mSensorManager.registerListener(this, mAccelerometer, SensorManager.SENSOR_DELAY_NORMAL);
}


public float getDeltaX()
{
return this.deltaX;
}

public float getDeltaY()
{
return this.deltaY;
}

public float getDeltaZ()
{
return this.deltaZ;
}


@Override
public void onSensorChanged(SensorEvent event) {
// TODO Auto-generated method stub

deltaX = event.values[0];
deltaY = event.values[1];
deltaZ = event.values[2];
}
}

我正在使用以下代码从我的主要 activity 类访问此类:

Accelerometer sbt = new Accelerometer (this);
tvX.setText(Float.toString(sbt.getDeltaX()) + " " +Float.toString(sbt.getDeltaY()) + " "+Float.toString(sbt.getDeltaZ()));

但是,它总是显示 0、0、0。不确定当前代码有什么问题。任何帮助将不胜感激。

最佳答案

加速度计(和所有传感器数据)在回调系统上工作。在下次读取传感器之前,它不会给您打电话,并且会继续调用您的 onSensorChanged 直到您取消注册。但是,如果您尝试在注册后立即设置文本,您将不会被调用。当您使用新值更新时,您需要在 onSensorChanged 中设置 textView。

关于Android 加速度计数据类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15104895/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com