From fa4596ec8028fa33d86d8e1d3bfa34bc736a8bb7 Mon Sep 17 00:00:00 2001 From: Scott Main Date: Tue, 17 Aug 2010 20:29:03 -0700 Subject: [PATCH] docs: add dev guide for getting user location Change-Id: I63558c0304a632ccfbb7a80411ab23ad2c82b5c9 --- docs/html/guide/guide_toc.cs | 13 +- docs/html/guide/topics/location/index.jd | 107 ++--- .../topics/location/obtaining-user-location.jd | 454 +++++++++++++++++++++ docs/html/images/location/content-tagging.png | Bin 0 -> 16634 bytes docs/html/images/location/getting-location.png | Bin 0 -> 25174 bytes docs/html/images/location/where-to-go.png | Bin 0 -> 19859 bytes 6 files changed, 502 insertions(+), 72 deletions(-) create mode 100644 docs/html/guide/topics/location/obtaining-user-location.jd create mode 100644 docs/html/images/location/content-tagging.png create mode 100644 docs/html/images/location/getting-location.png create mode 100644 docs/html/images/location/where-to-go.png diff --git a/docs/html/guide/guide_toc.cs b/docs/html/guide/guide_toc.cs index d0318cfba096..35ce17e26eae 100644 --- a/docs/html/guide/guide_toc.cs +++ b/docs/html/guide/guide_toc.cs @@ -220,9 +220,16 @@
  • Accelerometer
  • --> -
  • - Location and Maps -
  • +
  • +
    + Location and Maps +
    + +
  • +

    For your convenience, the Google APIs add-on is also available as a downloadable component from +the Android SDK and AVD Manager (see Adding SDK +Components).

    Note: In order to display Google Maps data in a MapView, you must register with the Google Maps service and obtain a Maps API diff --git a/docs/html/guide/topics/location/obtaining-user-location.jd b/docs/html/guide/topics/location/obtaining-user-location.jd new file mode 100644 index 000000000000..bc782d2e9734 --- /dev/null +++ b/docs/html/guide/topics/location/obtaining-user-location.jd @@ -0,0 +1,454 @@ +page.title=Obtaining User Location +parent.title=Location and Maps +parent.link=index.html +@jd:body + +

    +
    + +

    Quickview

    +
      +
    • The Network Location Provider provides good location data without using GPS
    • +
    • Obtaining user location can consume a lot of battery, so be careful how +long you listen for updates
    • +
    +

    In this document

    +
      +
    1. Challenges in Determining User Location
    2. +
    3. Requesting Location Updates +
        +
      1. Requesting User Permissions
      2. +
      +
    4. +
    5. Defining a Model for the Best Performance +
        +
      1. Flow for obtaining user location
      2. +
      3. Deciding when to start listening for updates
      4. +
      5. Getting a fast fix with the last known location
      6. +
      7. Deciding when to stop listening for updates
      8. +
      9. Maintaining a current best estimate
      10. +
      11. Adjusting the model to save battery and data exchange
      12. +
      +
    6. +
    7. Providing Mock Location Data
    8. +
    +

    Key classes

    +
      +
    1. {@link android.location.LocationManager}
    2. +
    3. {@link android.location.LocationListener}
    4. +
    +
    +
    + +

    Knowing where the user is allows your application to be smarter and deliver +better information to the user. When developing a location-aware application for Android, you can +utilize GPS and Android's Network Location Provider to acquire the user location. Although +GPS is most accurate, it only works outdoors, it quickly consumes battery power, and doesn't return +the location as quickly as users want. Android's Network Location Provider determines user location +using cell tower and Wi-Fi signals, providing location information in a way that +works indoors and outdoors, responds faster, and uses less battery power. To obtain the user +location in your application, you can use both GPS and the Network Location Provider, or just +one.

    + + +

    Challenges in Determining User Location

    + +

    Obtaining user location from a mobile device can be complicated. There are several reasons +why a location reading (regardless of the source) can contain errors and be inaccurate. +Some sources of error in the user location include:

    + + + +

    These problems can make it difficult to obtain a reliable user location reading. This +document provides information to help you meet these challenges to obtain a reliable location +reading. It also provides ideas that you can use in your +application to provide the user with an accurate and responsive geo-location experience.

    + + +

    Requesting Location Updates

    + +

    Before addressing some of the location errors described above, here is an introduction to +how you can obtain user location on Android.

    + +

    Getting user location in Android works by means of callback. You indicate that you'd +like to receive location updates from the {@link android.location.LocationManager} ("Location +Manager") by calling {@link android.location.LocationManager#requestLocationUpdates +requestLocationUpdates()}, passing it a +{@link android.location.LocationListener}. Your {@link android.location.LocationListener} must +implement several callback methods that the Location Manager calls when the user location +changes or when the status of the service changes.

    + +

    For example, the following code shows how to define a {@link android.location.LocationListener} +and request location updates: +

    + +
    +// Acquire a reference to the system Location Manager
    +LocationManager locationManager = (LocationManager) this.getSystemService(Context.LOCATION_SERVICE);
    +
    +// Define a listener that responds to location updates
    +LocationListener locationListener = new LocationListener() {
    +    public void onLocationChanged(Location location) {
    +      // Called when a new location is found by the network location provider.
    +      makeUseOfNewLocation(location);
    +    }
    +
    +    public void onStatusChanged(String provider, int status, Bundle extras) {}
    +
    +    public void onProviderEnabled(String provider) {}
    +
    +    public void onProviderDisabled(String provider) {}
    +  };
    +
    +// Register the listener with the Location Manager to receive location updates
    +locationManager.requestLocationUpdates(LocationManager.NETWORK_PROVIDER, 0, 0, locationListener);
    +
    + +

    The first parameter in {@link +android.location.LocationManager#requestLocationUpdates requestLocationUpdates()} is the type of +location provider to use (in this case, the Network Location Provider for cell tower and Wi-Fi +based location). You can control the frequency at which your listener receives updates +with the second and third parameter—the second is the minimum time interval between +notifications and the third is the minimum change in distance between notifications—setting +both to zero requests location notifications as frequently as possible. The last parameter is your +{@link android.location.LocationListener}, which receives callbacks for location updates.

    + +

    To request location updates from the GPS provider, +substitute GPS_PROVIDER for NETWORK_PROVIDER. You can also request +location updates from both the GPS and the Network Location Provider by calling {@link +android.location.LocationManager#requestLocationUpdates requestLocationUpdates()} twice—once +for NETWORK_PROVIDER and once for GPS_PROVIDER.

    + + +

    Requesting User Permissions

    + +

    In order to receive location updates from NETWORK_PROVIDER or +GPS_PROVIDER, you must request user permission by declaring either the {@code +ACCESS_COARSE_LOCATION} or {@code ACCESS_FINE_LOCATION} permission, respectively, in your Android +manifest file. For example:

    + +
    +<manifest ... >
    +    <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
    +    ...
    +</manifest>
    +
    + +

    Without these permissions, your application will fail at runtime when requesting +location updates.

    + +

    Note: If you are using both NETWORK_PROVIDER and +GPS_PROVIDER, then you need to request only the {@code ACCESS_FINE_LOCATION} +permission, because it includes permission for both providers. (Permission for {@code +ACCESS_COARSE_LOCATION} includes permission only for NETWORK_PROVIDER.)

    + + +

    Defining a Model for the Best Performance

    + +

    Location-based applications are now commonplace, but due to the less than optimal +accuracy, user movement, the multitude of methods to obtain the location, and the desire to conserve +battery, getting user location is complicated. To overcome the obstacles of obtaining a good user +location while preserving battery power, you must define a consistent model that specifies how your +application obtains the user location. This model includes when you start and stop listening for +updates and when to use cached location data.

    + + +

    Flow for obtaining user location

    + +

    Here's the typical flow of procedures for obtaining the user location:

    + +
      +
    1. Start application.
    2. +
    3. Sometime later, start listening for updates from desired location providers.
    4. +
    5. Maintain a "current best estimate" of location by filtering out new, but less accurate +fixes.
    6. +
    7. Stop listening for location updates.
    8. +
    9. Take advantage of the last best location estimate.
    10. +
    + +

    Figure 1 demonstrates this model in a timeline that visualizes the period in which an +application is listening for location updates and the events that occur during that time.

    + + +

    Figure 1. A timeline representing the window in which an +application listens for location updates.

    + +

    This model of a window—during which location updates are received—frames many of +the decisions you need to make when adding location-based services to your application.

    + + +

    Deciding when to start listening for updates

    + +

    You might want to start listening for location updates as soon as your application starts, or +only after users activate a certain feature. Be aware that long windows of listening for location +fixes can consume a lot of battery power, but short periods might not allow for sufficient +accuracy.

    + +

    As demonstrated above, you can begin listening for updates by calling {@link +android.location.LocationManager#requestLocationUpdates requestLocationUpdates()}:

    + +
    +LocationProvider locationProvider = LocationManager.NETWORK_PROVIDER;
    +// Or, use GPS location data:
    +// LocationProvider locationProvider = LocationManager.GPS_PROVIDER;
    +
    +locationManager.requestLocationUpdates(locationProvider, 0, 0, locationListener);
    +
    + + +

    Getting a fast fix with the last known location

    + +

    The time it takes for your location listener to receive the first location fix is often too +long for users wait. Until a more accurate location is provided to your location listener, you +should utilize a cached location by calling {@link +android.location.LocationManager#getLastKnownLocation}:

    +
    +LocationProvider locationProvider = LocationManager.NETWORK_PROVIDER;
    +// Or use LocationManager.GPS_PROVIDER
    +
    +Location lastKnownLocation = locationManager.getLastKnownLocation(locationProvider);
    +
    + + +

    Deciding when to stop listening for updates

    + +

    The logic of deciding when new fixes are no longer necessary might range from very simple to +very complex depending on your application. A short gap between when the location is acquired and +when the location is used, improves the accuracy of the estimate. Always beware that listening for a +long time consumes a lot of battery power, so as soon as you have the information you need, you +should stop +listening for updates by calling {@link android.location.LocationManager#removeUpdates}:

    +
    +// Remove the listener you previously added
    +locationManager.removeUpdates(locationListener);
    +
    + + +

    Maintaining a current best estimate

    + +

    You might expect that the most recent location fix is the most accurate. +However, because the accuracy of a location fix varies, the most recent fix is not always the best. +You should include logic for choosing location fixes based on several criteria. The criteria also +varies depending on the use-cases of the application and field testing.

    + +

    Here are a few steps you can take to validate the accuracy of a location fix:

    + + +

    An elaborate example of this logic can look something like this:

    + +
    +private static final int TWO_MINUTES = 1000 * 60 * 2;
    +
    +/** Determines whether one Location reading is better than the current Location fix
    +  * @param location  The new Location that you want to evaluate
    +  * @param currentBestLocation  The current Location fix, to which you want to compare the new one
    +  */
    +protected boolean isBetterLocation(Location location, Location currentBestLocation) {
    +    if (currentBestLocation == null) {
    +        // A new location is always better than no location
    +        return true;
    +    }
    +
    +    // Check whether the new location fix is newer or older
    +    long timeDelta = location.getTime() - currentBestLocation.getTime();
    +    boolean isSignificantlyNewer = timeDelta > TWO_MINUTES;
    +    boolean isSignificantlyOlder = timeDelta < -TWO_MINUTES;
    +    boolean isNewer = timeDelta > 0;
    +
    +    // If it's been more than two minutes since the current location, use the new location
    +    // because the user has likely moved
    +    if (isSignificantlyNewer) {
    +        return true;
    +    // If the new location is more than two minutes older, it must be worse
    +    } else if (isSignificantlyOlder) {
    +        return false;
    +    }
    +
    +    // Check whether the new location fix is more or less accurate
    +    int accuracyDelta = (int) (location.getAccuracy() - currentBestLocation.getAccuracy());
    +    boolean isLessAccurate = accuracyDelta > 0;
    +    boolean isMoreAccurate = accuracyDelta < 0;
    +    boolean isSignificantlyLessAccurate = accuracyDelta > 200;
    +
    +    // Check if the old and new location are from the same provider
    +    boolean isFromSameProvider = isSameProvider(location.getProvider(),
    +            currentBestLocation.getProvider());
    +
    +    // Determine location quality using a combination of timeliness and accuracy
    +    if (isMoreAccurate) {
    +        return true;
    +    } else if (isNewer && !isLessAccurate) {
    +        return true;
    +    } else if (isNewer && !isSignificantlyLessAccurate && isFromSameProvider) {
    +        return true;
    +    }
    +    return false;
    +}
    +
    +/** Checks whether two providers are the same */
    +private boolean isSameProvider(String provider1, String provider2) {
    +    if (provider1 == null) {
    +      return provider2 == null;
    +    }
    +    return provider1.equals(provider2);
    +}
    +
    + + +

    Adjusting the model to save battery and data exchange

    + +

    As you test your application, you might find that your model for providing good location and +good performance needs some adjustment. Here are some things you might change to find a good +balance between the two.

    + +

    Reduce the size of the window

    + +

    A smaller window in which you listen for location updates means less interaction with GPS and +network location services, thus, preserving battery life. But it also allows for fewer locations +from which to choose a best estimate.

    + +

    Set the location providers to return updates less frequently

    + +

    Reducing the rate at which new updates appear during the window can also improve battery +efficiency, but at the cost of accuracy. The value of the trade-off depends on how your +application is used. You can reduce the rate of updates by increasing the parameters in {@link +android.location.LocationManager#requestLocationUpdates requestLocationUpdates()} that specify the +interval time and minimum distance change.

    + +

    Restrict a set of providers

    + +

    Depending on the environment where your application is used or the desired level of accuracy, +you might choose to use only the Network Location Provider or only GPS, instead of both. Interacting +with only one of the services reduces battery usage at a potential cost of accuracy.

    + + +

    Common application cases

    + +

    There are many reasons you might want to obtain the user location in your application. Below +are a couple scenarios in which you can use the user location to enrich your application. Each +scenario also describes good practices for when you should start and stop listening for the +location, in order to get a good reading and help preserve battery life.

    + + +

    Tagging user-created content with a location

    + +

    You might be creating an application where user-created content is tagged with a location. +Think of users sharing their local experiences, posting a review for a restaurant, or recording some +content that can be augmented with their current location. A model of how this +interaction might happen, with respect to the location services, is visualized in figure 2.

    + + +

    Figure 2. A timeline representing the window in which +the user location is obtained and listening stops when the user consumes the current location.

    + +

    This lines up with the previous model of how user location is obtained in code (figure 1). For +best location accuracy, you might choose to start listening for location updates when users begin +creating +the content or even when the application starts, then stop listening for updates when content is +ready to be posted or recorded. You might need to consider how long a typical task of creating the +content takes and judge if this duration allows for efficient collection of a location estimate.

    + + +

    Helping the user decide on where to go

    + +

    You might be creating an application that attempts to provide users with a set +of options about where to go. For example, you're looking to provide a list of nearby restaurants, +stores, and entertainment and the order of recommendations changes depending on the user +location.

    + +

    To accommodate such a flow, you might choose to:

    + + +

    This kind of model is visualized in figure 3.

    + + +

    Figure 3. A timeline representing the window in which a +dynamic set of data is updated each time the user location updates.

    + + + + +

    Providing Mock Location Data

    + +

    As you develop your application, you'll certainly need to test how well your model for obtaining +user location works. This is most easily done using a real Android-powered device. If, however, you +don't have a device, you can still test your location-based features by mocking location data in +the Android emulator. There are three different ways to send your application mock location +data: using Eclipse, DDMS, or the "geo" command in the emulator console.

    + +

    Note: Providing mock location data is injected as GPS location +data, so you must request location updates from GPS_PROVIDER in order for mock location +data to work.

    + +

    Using Eclipse

    + +

    Select Window > Show View > Other > Emulator Control.

    + +

    In the Emulator Control panel, enter GPS coordinates under Location Controls as individual +lat/long coordinates, with a GPX file for route playback, or a KML file for multiple place marks. +(Be sure that you have a device selected in the Devices panel—available from Window +> Show View > Other > Devices.)

    + + +

    Using DDMS

    + +

    With the DDMS tool, you can simulate location data a few different ways:

    + + +

    For more information on using DDMS to spoof location data, see the +Using DDMS guide. + + +

    Using the "geo" command in the emulator console

    + +

    To send mock location data from the command line:

    + +
      +
    1. Launch your application in the Android emulator and open a terminal/console in your SDK's +/tools directory.
    2. +
    3. Connect to the emulator console: +
      telnet localhost <console-port>
    4. +
    5. Send the location data:

      +
      • geo fix to send a fixed geo-location. +

        This command accepts a longitude and latitude in decimal degrees, and + an optional altitude in meters. For example:

        +
        geo fix -121.45356 46.51119 4392
        +
      • +
      • geo nmea to send an NMEA 0183 sentence. +

        This command accepts a single NMEA sentence of type '$GPGGA' (fix data) or '$GPRMC' (transit + data). + For example:

        +
        geo nmea $GPRMC,081836,A,3751.65,S,14507.36,E,000.0,360.0,130998,011.3,E*62
        +
      • +
      +
    6. +
    + +

    For information about how to connect to the emulator console, see +Using the Emulator Console.

    diff --git a/docs/html/images/location/content-tagging.png b/docs/html/images/location/content-tagging.png new file mode 100644 index 0000000000000000000000000000000000000000..d58bfeeed2fe4ad042bcc78659ef3c5b634afd86 GIT binary patch literal 16634 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 t7~X0d93LBtPkHMZ-2&1L(%mR6-5}E4C2$^? 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%0AgQ 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 C?6_P2 literal 0 HcmV?d00001 -- 2.11.0