gpt4 book ai didi

java - 无法根据 Android Studio 中的加速度计数据更新应用程序

转载 作者:太空宇宙 更新时间:2023-11-04 09:06:40 25 4
gpt4 key购买 nike

当手机摇晃时,我试图使用加速度计数据清除文本标签/输出。

这就是我所拥有的:

imports ....
public class Main_Activity extends AppCompatActivity implements TextToSpeech.OnInitListener, SensorEventListener{

public void onAccuracyChanged(Sensor arg0, int arg1){

}

public void onSensorChanged(SensorEvent event){

double ax = event.values[0];
double ay = event.values[1];
double az = event.values[2];
double a = Math.sqrt(ax*ax + ay*ay + az*az);

if(a > 20){
((EditText) findViewById(R.id.pBox)).setText("");
((EditText) findViewById(R.id.aBox)).setText("");
((EditText) findViewById(R.id.iBox)).setText("");
((TextView) findViewById(R.id.output)).setText("");
}


public void buttonClicked(View v){
// getting values entered by user and showing output
}
}

一切正常,除了当我摇动手机时,文字不清晰。

最佳答案

请将它们创建为全局变量

private float acelVal,acelLast,shake;

请使用此登录名在onSensorChanged()中获取摇动事件

float x =event.values[0];
float y =event.values[1];
float z =event.values[2];
acelLast=acelVal;
acelVal=(float) Math.sqrt((double) (x*x)+(y*y)+(z*z));
float delta= acelVal-acelLast;
shake =shake*0.9f+delta;


if(shake>20){
((EditText) findViewById(R.id.pBox)).setText("");
((EditText) findViewById(R.id.aBox)).setText("");
((EditText) findViewById(R.id.iBox)).setText("");
((TextView) findViewById(R.id.output)).setText("");
}

这是original answer

希望这会有所帮助!

关于java - 无法根据 Android Studio 中的加速度计数据更新应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60161206/

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