Friday, 7 September 2012

Location using GPS in Android programming

GPS Location in Android

Find current latitude and longitude location by using GPS

No need GPRS or Internet connection

We need to add permission for accessing GPS. So put following tag in Android manifest file
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"></uses-permission>  
Import the necessary libraries
 import android.location.Location;  
 import android.location.LocationListener;  
 import android.location.LocationManager;  
Create a Listener class for loaction
 /* Class My Location Listener */  
 public class MyLocationListener implements LocationListener {  
   @Override  
   public void onLocationChanged(Location loc) {  
     loc.getLatitude();  
     loc.getLongitude();  
     String Text = "My current location is: " + "Latitude = "  
         + loc.getLatitude() + "Longitude = " + loc.getLongitude();  
     Toast.makeText(getApplicationContext(), Text, Toast.LENGTH_SHORT)  
         .show();  
     Log.d("TAG", "Starting..");  
   }  
   @Override  
   public void onProviderDisabled(String provider) {  
     Toast.makeText(getApplicationContext(), "Gps Disabled",  
         Toast.LENGTH_SHORT).show();  
   }  
   @Override  
   public void onProviderEnabled(String provider) {  
     Toast.makeText(getApplicationContext(), "Gps Enabled",  
         Toast.LENGTH_SHORT).show();  
   }  
   @Override  
   public void onStatusChanged(String provider, int status, Bundle extras) {  
   }  
 }/* End of Class MyLocationListener */  
Declare LocationManager object in Activity
  LocationManager locationManager; 
  private String provider;
Override onCreate method of Activity
@Override  
   public void onCreate(Bundle savedInstanceState) {  
     super.onCreate(savedInstanceState);  
     setContentView(R.layout.main);   
     LocationListener mlocListener = new MyLocationListener();  
     locationManager.requestLocationUpdates(LocationManager.GPS_PROVIDER, 0, 0, mlocListener);     
      Criteria criteria = new Criteria();  
       criteria.setAccuracy(Criteria.ACCURACY_COARSE);  
       criteria.setAccuracy(Criteria.ACCURACY_FINE);  
       provider = locationManager.getBestProvider(criteria, true);  
       locationManager.requestLocationUpdates(provider, 61000, 250,  
         mlocListener);  
   }
Happy coding...

No comments:

Post a Comment