Coding Guru
Android Location Services
Android Location Based Services
Android location APIs make it easy for you to build location-aware applications, without needing to focus on the details of the underlying location technology. This becomes possible with the help of Google Play services, which facilitates adding location awareness to your app with automated location tracking, geofencing, and activity recognition. This tutorial shows you how to use Location Services in your app to get the current location, get periodic location updates, look up addresses etc.
The Location Object
The Location object represents a geographic location which can consist of latitude, longitude and other information such as bearing, altitude and velocity. There are following important methods which you can use with Location object to get specific information:
​
Method & Description
-
float distanceTo(Location dest) Returns the approximate distance in meters between this location and the given location.
-
float getAccuracy() Get the estimated accuracy of this location, in meters.
-
double getAltitude() Get the altitude if available, in meters above sea level.
​
Application Components
Application components are the essential building blocks of an Android application. These components are loosely coupled by the application manifest file AndroidManifest.xml that describes each component of the application and how they interact. There are following four main components that can be used within an Android application:
Components Description Activities
They dictate the UI and handle the user interaction to the Smartphone screen
Services
They handle background processing associated with an application.
Broadcast Receivers
They handle communication between Android OS and applications.
Content Providers
They handle data and database management issues.
Activities:
An activity represents a single screen with a user interface. For example, an email application might have one activity that shows a list of new emails, another activity to compose an email, and another activity for reading emails. If an application has more than one activity, then one of them should be marked as the activity that is presented when the application is launched. An activity is implemented as a subclass of Activity class as follows:
public class MainActivity extends Activity
{
}
Services:
A service is a component that runs in the background to perform long-running operations. For example, a service might play music in the background while the user is in a different application, or it might fetch data over the network without blocking user interaction with an activity. A service is implemented as a subclass of Service class as follows:
public class MyService extends Service
{
}
Broadcast Receivers:
Broadcast Receivers simply respond to broadcast messages from other applications or from the system. For example, applications can also initiate broadcasts to let other applications know that some data has been downloaded to the device and is available for them to use, so this is broadcast receiver who will intercept this communication and will initiate appropriate action. A broadcast receiver is implemented as a subclass of BroadcastReceiver class and each message is broadcasted as an Intent object.
public class MyReceiver extends BroadcastReceiver
{
}
Content Providers:
A content provider component supplies data from one application to others on request. Such requests are handled by the methods of the ContentResolver class. The data may be stored in the file system, the database or somewhere else entirely. A content provider is implemented as a subclass of ContentProvider class and must implement a standard set of APIs that enable other applications to perform transactions.
public class MyContentProvider extends ContentProvider
{
}
Additional Components:
These are additional components which will be used in the construction of above mentioned entities, their logic, and wiring between them. These components are:
Components Description Fragments
Represents a behavior or a portion of user interface in an Activity.
Views -->UI elements that are drawn onscreen including buttons, lists forms etc.
Layouts-->View hierarchies that control screen format and appearance of the views.
Intents-->Messages wiring components together.
Resources-->External elements, such as strings, constants and drivable pictures.
Manifest-->Configuration files for the application.