Я бы рассмотрел сценарий потоков. Если вы работаете с обновлениями пользовательского интерфейса, вы можете использовать postDelayed
, чтобы вы могли обновить свой пользовательский интерфейс с помощью Runable. Вы также можете вызвать Runable из Runable.
View.postDelayed(new Runnable() {
public void run() {
// do work
}
}, 1000);
Редактировать: Исходя из вашего комментария, вы можете повторно вызывать вашу функцию.
public void PrendrePhoto() {
String nom = "CameraPhoto";
double x;
camera = Camera.open();
capteurBdd = new CapteursBDD(null);
while (true) {
camera.takePicture(null, null, null);
x = 10;
ValeursCapteur capteur = new ValeursCapteur(nom, x, 0, 0);
capteurBdd.insertValeursCapteur(capteur);
Log.i(null, "GPS = " + x);
try {
findViewById(R.id.mainView).postDelayed(predrePhotoRunnable, 1000);
} catch (InterruptedException ex) {
}
}
}
private Runnable predrePhotoRunnable = new Runnable() {
public void run() {
PrendrePhoto();
}
};