In meiner App versuche ich, Daten von den Android-Gerät-Sensoren zu erhalten und dann zu versuchen, sie in einer Datei zu speichern. Ich konnte Daten von Sensoren abrufen und sie erfolgreich im EditText ausgeben, aber ich kann die Daten nicht kontinuierlich aus dem EditText abrufen. While-Schleife ist hier überhaupt nicht sinnvoll. Und Thread würde eine Kopie von String "entry" erstellen, aber ich brauche es draußen, also habe ich versucht, eine Callable zu verwenden, bin mir aber nicht sicher, ob ich es richtig mache. Schlage etwas vor, um das Gleiche zu tun.Wie man fortwährend Werte von einem bearbeiteten Text in android erhält
Hier ist, was ich tun möchte.
btn_start.setOnClickListener(new Button.OnClickListener() {
@Override
public void onClick(View view) {
Callable callable = new Callable() {
@Override
public Object call() throws Exception {
while(!btn_stop.isPressed()) {
entry += acc_x.getText().toString() + "," +
acc_y.getText().toString() + "," +
acc_z.getText().toString() + "," +
gyro_x.getText().toString() + "," +
gyro_y.getText().toString() + "," +
gyro_z.getText().toString() + "," +
user_name.getText().toString() + "\n";
}
return entry;
}
};
ExecutorService executorService = Executors.newFixedThreadPool(2);
Future<String> stringFuture = executorService.submit(callable);
try {
entry = stringFuture.get();
} catch (InterruptedException e) {
e.printStackTrace();
} catch (ExecutionException e) {
e.printStackTrace();
}
}
});
Here ist der vollständige Code, wenn Sie mehr Referenz benötigen.
Vielen Dank das ist genau das, was ich brauche. <3 –