Я новый Android-кодер, и у меня проблема с запросами обновлений для моей локализации.
Я работаю с учебниками из http://developer.android.com/training/location/receive-location-updates.html.
Мое приложение может обрабатывать исключения, получать широту и длину правильно, а геокодер может обрабатывать отображение адреса. Но я запрашиваю местоположение только один раз - или когда меняется местоположение. Я хотел бы делать временные интервалы. На данный момент я начал внедрять код из учебников, и он выглядит так:
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();
}
Итак, уже выполнены интервалы и запрос местоположения. Но в ссылке, которую я дал раньше, есть комментарий, который я должен использовать где-то requestLocationUpdates()
(возможно, onCreate()
, onStart()
и удаление запроса на onStop()
), но у меня проблема с ним. Итак, Eclipse показывает мне 3 метода:
requestLocationUpdates(LocationRequest request, LocationListener listener)
requestLocationUpdates(LocationRequest request, PendingIntent CallbackIntent)
requestLocationUpdates(LocationRequest request, LocationListener listener, Looper looper)
Итак, первое, что я считаю самым правильным в этом месте. Что я должен разместить в слоте LocationListener
? Я прошу помощи с небольшим объяснением, как это работает.