Я бы рассмотрел сценарий с потоками. Если вы работаете с обновлениями пользовательского интерфейса, вы можете использовать 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();
}
};
Спасибо за ваши ответы, можете ли вы дать мне более подробную информацию Abaut это, я beginer в андроиде developping :-) Вот это часть моего кода: 'общественной пустота PrendrePhoto() { \t \t Строки nom = "CameraPhoto"; \t \t double x; \t \t camera = Camera.open(); \t \t capteurBdd = new CapteursBDD (null); \t \t while (true) { \t \t camera.takePicture (null, null, null); \t \t x = 10; \t \t ValeursCapteur capteur = new ValeursCapteur (nom, x, 0, 0); \t \t capteurBdd.insertValeursCapteur (capteur); \t \t Log.i (null, "GPS =" + x); \t \t try { \t \t wait (3000); \t \t} \t \t улов (InterruptedException ех) { \t \t} \t \t}} ' –
Смотрите мой Edit. Для 'findViewById' вы можете использовать любой элемент управления или макет. –
Большое спасибо Tomislave, но у меня есть проблема в этой строке: 'findViewById (R.id.mainView) .postDelayed (predrePhotoRunnable, 1000);' Что такое mainView? Большое вам спасибо за вашу помощь –