while loop in main thread blocks listener updates?

by denzel » Thu, 05 Mar 2009 00:39:50 GMT


Sponsored Links
 Hi,

Take a look at the following code:

The first class is a locationmanager which holds the current and
previous location:

public class MyLocationManager implements LocationListener {
   private Location previousLocation;
   private Location currentLocation;

   private LocationManager locationManager;

   public MyLocationManager (Activity activity) {
      this.locationManager = (LocationManager)
activity.getSystemService(Context.LOCATION_SERVICE);
      this.locationManager.requestLocationUpdates
(LocationManager.GPS_PROVIDER, 0, 0, this);
   }

   @Override
   public void onLocationChanged(Location location) {
      this.lastLocation = location;
      Log.v("LocationManager", "Lat: " + location.getLatitude() + " -
Lon: " + location.getLongitude());
   }

   @Override
   public void onProviderDisabled(String provider) {}

   @Override
   public void onProviderEnabled(String provider) {}

   @Override
   public void onStatusChanged(String provider, int status, Bundle
extras) {}

}

Th second class is the main activity which acts like a server and uses
the previous location to do something:

public class Example extends Activity {
   private MyLocationManager myLocationManager;

   @Override
   public void onCreate(Bundle savedInstanceState) {
      super.onCreate(savedInstanceState);
      setContentView(R.layout.main);

      myLocationManager = new MyLocationManager(this);
      while (true) {
         // do something (like some server functionality)
         Location loc = myLocationManager.getPreviousLocation();
         // do something
      }
   }
}

The problem is that myLocationManager doesn't retreive any updates for
the location. I think it has to do with this while-loop that blocks
the main-thread  by continously executing. And because
mylocationmanager is also running in the main thread, he cant't
retrieve his location updates.

Does somebody know how to deal with this? I think I have to make use
of threads somewhere, but I don't know where exactly.

Thanks in advance!

kind regards,

Denzel
--~--~---------~--~----~------------~-------~--~----~



while loop in main thread blocks listener updates?

by denzel » Fri, 06 Mar 2009 03:55:30 GMT


 hanks for your response! My problem is solved!


On 4 mrt, 17:43, Romain Guy <romain...@google.com> wrote:
--~--~---------~--~----~------------~-------~--~----~


Sponsored Links


Other Threads

1. Guys from development team

I don't mean to be rude, but when you have a chance please rename
this:
LabelAndIconIndicatorStategy
to this:
LabelAndIconIndicatorStrategy

:)
--~--~---------~--~----~------------~-------~--~----~

2. How to get back the Holiday Update Option?

Hello!

So I was quite e{*filter*}d to get the holiday update message this morning,
but realized I had turned off wi-fi.  So I wanted a faster update, so
declined the update so I could turn on wi-fi, and thought I could get
back to DLing the update by checking for system update in the menus.
However, that doesn't work!  (ie, says nothing available).  Any
suggestions on how to get back the option to update?

Thanks for your time,
  -NIck

--~--~---------~--~----~------------~-------~--~----~

3. google spreadsheet as a db in the cloud

4. Send SMS to Email

5. video recorder only can capture 2s ?

6. Text Messaging (SMS) in IM Chat

7. Gwt on Android