显示动态整数或双精度

时间:2013-06-17 15:16:30

标签: java android

我正在做一个学校项目,我必须“测量”声音,如分贝。我在网上搜索教程等,并找到了一些很棒的脚本。我可以在视觉上看到我的移动设备检测到声音,但我想看到一个数字,声音有多大。

我可以在double中显示inttextview,但这个号码在textviewinteger或{{double中不会发生变化1}}本身应该而且确实会改变,但我看不到这一点。也许它没有更新?

这是我主要活动中最重要的代码。

private TextView tv;
double amp = 0.0;

public void run() {
    double amp = mSensor.getAmplitudeEMA();
    if (mTestMode) updateDisplay(amp);
}

public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);
    mSensor = new SoundMeter();
    tv = (TextView) findViewById(R.id.amplitude);
    tv.setText(String.valueOf(amp)); 
    mTestMode = true;
    start();
}

因此,当我运行此代码时,我在屏幕上看到0.0,但是当我说话时,double amp应该会改变,但我仍然会看到0.0。

不,检测声音的脚本是有效的,我知道因为你可以看到它,你可以看到动画,声音低时为3条,当声音响亮时有更多条形。

但我的问题是,为什么double amp更新本身?为什么不改变0.0?

1 个答案:

答案 0 :(得分:0)

public void run() {
    if (mTestMode) {
        double amp = mSensor.getAmplitudeEMA();
        tv.setText(String.valueOf(amp));
    }
}