Я создавал это приложение для Android и многое узнал о программах Java и Android. Тем не менее, я просто не смог выяснить, как работать петли задержки. Я посмотрел на другие посты стека и видел разные методы, но не смог успешно их реализовать. Я опишу, что я хочу, чтобы цикл сделал. В течение следующих 20 секунд я хочу, чтобы приложение называло Angmag каждые 50 миллисекунд, чтобы я мог получить величину угловой скорости и посмотреть, выше ли оно выше определенного порога. Эта функция называется каждые 50 миллисекунд в течение 20 секунд, пока приложение не произведет «тестирование полного», а затем завершит тестирование. Как бы я использовал эту функцию задержки в приложении Android? Я прокомментировал, где я хочу задержку в коде.package com.example.shivamgandhi.gyrosafe;
import android.content.Intent;
import android.hardware.Sensor;
import android.hardware.SensorEvent;
import android.hardware.SensorEventListener;
import android.hardware.SensorManager;
import android.os.Bundle;
import android.os.Handler;
import android.view.MotionEvent;
import android.view.View;
import android.widget.Button;
import android.widget.RelativeLayout;
import android.widget.TextView;
public class Balance_Test_Activity extends VoiceControl implements View.OnClickListener, SensorEventListener, View.OnTouchListener {
int n = 2;
Button btnarray[] = new Button[n];
private SensorManager sManager;
private TextView textView79;
RelativeLayout RelativeLayout;
int count = 0;
double arg0, arg1, arg2;
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.balance_test);
RelativeLayout = (RelativeLayout)findViewById(R.id.RelativeLayout4);
btnarray[0] = (Button)findViewById(R.id.button10);
btnarray[1] = (Button)findViewById(R.id.button20);
sManager = (SensorManager) getSystemService(SENSOR_SERVICE);
textView79 = (TextView)findViewById(R.id.textView79);
for(int i = 0; i 20){
angmag = 1;
}
else{
angmag = 0;
}
gyro_results = angmag + gyro_results;
count++;
Thread.sleep(50000);
}
return gyro_results;
}
@Override
public void onAccuracyChanged(Sensor arg0, int arg1)
{
//Do nothing.
}
public void onSensorChanged(SensorEvent event)
{
//if sensor is unreliable, return void
if (event.accuracy == SensorManager.SENSOR_STATUS_UNRELIABLE)
{
return;
}
arg0 = event.values[0];
arg1 = event.values[1];
arg2 = event.values[2];
//else it will output the Roll, Pitch and Yawn values
textView79.setText("Orientation X (Roll) :"+ Float.toString(event.values[2]) +"\n"+
"Orientation Y (Pitch) :"+ Float.toString(event.values[1]) +"\n"+
"Orientation Z (Yaw) :"+ Float.toString(event.values[0]));
}
}
< /code>
Я предполагаю, что код должен выглядеть примерно так: < /p>
delay 5 seconds;
int count = 0;
while count < 401{
gyro_results = angmag + gyro_results;
count++;
delay 50 milliseconds;
}
return gyro_results;
< /code>
Я бы хотел, чтобы я смог выяснить, как кодировать это самостоятельно, но я пробовал большинство методов. Тем не менее, я все еще вижу некоторые проблемы с Thread.sleep.
Подробнее здесь: https://stackoverflow.com/questions/358 ... -gyroscope
Цикл задержки Android для сбора данных из гироскопа ⇐ Android
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение
-
-
Scipy-correlate: как изменить задержки точек данных на временные задержки?
Anonymous » » в форуме Python - 0 Ответы
- 149 Просмотры
-
Последнее сообщение Anonymous
-
-
-
Согласованное преобразование значений гироскопа на Android и iOS с помощью Matter.js
Anonymous » » в форуме Android - 0 Ответы
- 19 Просмотры
-
Последнее сообщение Anonymous
-
-
-
Согласованное преобразование значений гироскопа на Android и iOS с помощью Matter.js
Anonymous » » в форуме IOS - 0 Ответы
- 27 Просмотры
-
Последнее сообщение Anonymous
-