java - 如何使用加速度计值显示数字

标签 java android accelerometer

我是 android 的新手,所以如果我问的是一个非常简单的问题,请原谅我。

基本上我想做的是显示一个数字。当Y的值,event.value[1]在1到7之间。

我可以显示 X Y Z 位置的值。但是一旦我添加 if 语句来检查我的应用程序是否停止工作(请参见下面的代码)

我真的需要别人的帮助。

谢谢你的帮助。

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

float x = event.values[0];
float y = event.values[1];
float z = event.values[2];

int YValueMin = 1;
int YValueMax = 7;

accelero.setText("X: "+event.values[0]+
        "\nY: "+event.values[1]+
        "\nZ: "+event.values[2]);

if (y >= YValueMin && y <= YValueMax ){

    RepCounter.setText("1");

    }
else {
    RepCounter.setText(" ");
}
}

最佳答案

当它崩溃时 logcat 会说什么?

很有可能是你的RepCounter为空,你可以使用调试器检查一下。

编辑:请将您的代码更改为以下内容,这可能是一个解决方案。如果不是,我将需要完整的源代码以确保 RepCounter 不是类或未初始化的对象。

public void onSensorChanged(SensorEvent event)
    {
        if(event.sensor.getType() == Sensor.TYPE_ACCELEROMETER)
        {
            float x = event.values[0]; 
            float y = event.values[1]; 
            float z = event.values[2];
            int YValueMin = 1; 
            int YValueMax = 7;

            accelero.setText("X: " + event.values[0] + "\nY: " + event.values[1] + "\nZ: " + event.values[2]);
            if(y >= YValueMin && y <= YValueMax)
            {
                RepCounter.setText("1");
            }
            else
            {
                RepCounter.setText(" ");
            }
        }
    }

关于java - 如何使用加速度计值显示数字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21139510/

相关文章:

java - 在 Java 中轻松交换 double/float

android - "App Engine Connected Android Project"不可用

iOS 加速计和空间导航?

java - 我如何在 java 中为我的 Fitnesse Fixture 传递程序参数?

java - 在 JUnit 报告中添加额外信息

java - ESC命令将条码打印到热敏打印机?

android - 日期选择器和日历中的日期格式更改

android - 获取 R.raw 文件夹的完整路径

iphone - 不使用 iPhone 时关闭加速计

android - 如何以编程方式在 Android 设备中设置模拟传感器(加速度计)