Jak to działa - requestLocationUpdates () + LocationRequest / Listener

Jestem nowym koderem Androida i mam problem z żądaniem aktualizacji dla mojej lokalizacji.

Pracuję z samouczkami odhttp://developer.android.com/training/location/receive-location-updates.html .

Moja aplikacja może obsługiwać wyjątki, odpowiednio dopasowując szerokość geograficzną i długość geograficzną, a geokoder może obsługiwać wyświetlanie adresu. Ale proszę o lokalizację tylko raz - lub gdy zmienia się lokalizacja. Chciałbym robić odstępy czasu. Na razie zacząłem implementować kod z samouczków i wygląda to tak:

public class MainActivity extends Activity implements 
GooglePlayServicesClient.ConnectionCallbacks,
GooglePlayServicesClient.OnConnectionFailedListener,
LocationListener {

private static final int MILLISECONDS_PER_SECOND = 1000;

public static final int UPDATE_INTERVAL_IN_SECONDS = 5;
private static final long UPDATE_INTERVAL =
          MILLISECONDS_PER_SECOND * UPDATE_INTERVAL_IN_SECONDS;

private static final int FASTEST_INTERVAL_IN_SECONDS = 1;
private static final long FASTEST_INTERVAL =
          MILLISECONDS_PER_SECOND * FASTEST_INTERVAL_IN_SECONDS;

private TextView tvStatus;
private TextView tvLatitude;
private TextView tvLongitude;

LocationRequest mLocationRequest;
LocationClient mLocationClient;
Location mCurrentLocation;

boolean bNetworkEnabled;
boolean bGPSEnabled;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);

    setContentView(R.layout.activity_main);
    tvStatus = (TextView)findViewById(R.id.tvStatus);
    tvLatitude = (TextView)findViewById(R.id.tvLatitude);
    tvLongitude = (TextView)findViewById(R.id.tvLongitude);

    mLocationRequest = LocationRequest.create();
    mLocationRequest.setPriority(LocationRequest.PRIORITY_HIGH_ACCURACY);
    mLocationRequest.setInterval(UPDATE_INTERVAL);
    mLocationRequest.setFastestInterval(FASTEST_INTERVAL);
    mLocationClient = new LocationClient(this, this, this);

    checkProviders();
}

Tak więc są już wprowadzone interwały i żądanie lokalizacji. Ale w linku, który podałem, pojawia się komentarz, który powinienem gdzieś użyćrequestLocationUpdates() (prawdopodobnieonCreate(), onStart() i usunięcie żądania w dniuonStop()), ale mam z tym problem. Eclipse pokazuje mi 3 metody:

requestLocationUpdates(LocationRequest request, LocationListener listener)
requestLocationUpdates(LocationRequest request, PendingIntent CallbackIntent)
requestLocationUpdates(LocationRequest request, LocationListener listener, Looper looper)

Więc pierwszy, który moim zdaniem jest najbardziej odpowiedni w tym miejscu. Co powinienem umieścićLocationListener otwór? Proszę o pomoc z małym wyjaśnieniem, jak to działa.

questionAnswers(2)

yourAnswerToTheQuestion