检查变量是否已“移动”

时间:2017-06-08 10:58:42

标签: java android

我有一个线程,其中程序通过蓝牙不断获得用户与另一部手机的距离。

我选择实施文字转语音功能,其中当用户移动仪表更近/更远时,程序将“说话”。我已经能够达到距离,但问题是我不知道如何检查距离是否已经移动了至少1米/更远。例如:

Initial distance: 0.81 meters

当值增加/减少大约1米时,应激活TTS功能​​。

Should activate TTS when distance becomes: 1.81, 2.85, 3.90

请注意,第二个值2.85距离最后一个距离1.81不远1米,因为获得的距离“跳跃”意味着如果您显示距离并开始走开,它将看起来类似对此:

Distance: 1.01, 1.86, 2.31, 3.29, ...

我尝试了各种方法,但我似乎无法做到。任何帮助将不胜感激!

2 个答案:

答案 0 :(得分:0)

请试试这个

int initDist = x;
int newDist = y;

int diff = newDist - initDist;

if(diff >= 1){
    // activate TTS here;
    initDist = newDist;
}

答案 1 :(得分:0)

您可以使用以下代码:

int initialDistance = x;//declare it global
int newDistance = y;

if(Math.abs(newDistance -initialDistance )>=1) {
//TTS;
initialDistance = newDistance;
}