Фоновый процесс с таймером без прерывания пользовательского интерфейса - PullRequest
0 голосов
/ 07 июля 2011

У меня есть фоновый процесс, который вычисляет широту и долготу местоположения.Затем я использую задачу таймера для запуска каждые несколько секунд, чтобы получить эту рассчитанную широту и долготу и отобразить ее на RichMapField.Мне нужно отобразить эту широту и долготу на карте, но она не отображается из-за таймера.Может кто-нибудь, пожалуйста, скажите мне, как я могу справиться с этой ситуацией.

Редактировать: Просто дать лучшее понимание: ниже мой код:

таймер, запланированный на каждые 5 секунд:

    timer.scheduleAtFixedRate(new TimerTask() {
          public void run()
          {
              currentLocation.run();
          }}, 0, 5000); 



  public Runnable currentLocation = new Runnable()
 {
  public void run() {
        double[] coordinates = new double[3];
        coordinates[0]= 47.674131297119935;
        coordinates[1]= 9.384496898485185;
        coordinates[2]= 475.678;
        addToMap(coordinates);          
  }

 };

public void addToMap(double[] coordinates)
{
       MapLocation location1 = new MapLocation(coordinates[0],coordinates[1],"My Location2",null);
       int location1ID = data.add((Mappable)location1,"My");
       data.tag(location1ID, "Location1");

       MapLocation location2 = new MapLocation(coordinates[0],coordinates[1],"My Location2",null);
       int location2ID = data.add((Mappable)location2,"My");
       data.tag(location2ID, "Location2");
}
...