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. 2D acceleration (Froyo)

Hi,

 I presume that the path is SurfaceFlinger -> OpenGL backend -> Copybit:

   - Is this true for web based content as well?
   - Is there any documentation wrt code & data flow?

Thanks
HV

-- 

2. block telephone dan SMS di spica

Dear agan2
Cara block telephone  masuk dan sms  di spika gmana..
ane mau blok beberapa nomer yang ngk jelas...

thx

lexsi

--
"

3. Update facebook & twydroid

4. if i want to add overlay item to appear in map & also the gps point

5. help enabling NFS rootfs support

6. http://apps-for-android.googlecode.com/svn default.properties not found

7. HDPI-device using mdpi resources