SORU
7 Temmuz 2014, PAZARTESİ


Android LocationClient sınıfı kaldırılmış ama belgelerinde kullanılır

Eğer LocationClient belgeler üzerinden gidersek sınıfı kaldırılmış olduğunu görüyoruz.

Ancak itiraz sınıf documentation to get the current location kullanılır.

Ben bu biraz yanıltıcı olduğunu veya yanlış Dokümantasyon bakıyorum?

CEVAP
7 AĞUSTOS 2014, PERŞEMBE


Yine Google piyasaya yeni bir API ama almadılar güncelleştirilmiş belgeler :$ Sonra harcamak biraz zaman anlamaya çalışıyorum nasıl çalıştığını anladım, burada tam bir örnek kullanarak yeni/en son Yer Hizmet API... gelişmekte olan :)

import android.location.Location;
import android.app.Activity;
import android.os.Bundle;
import android.util.Log;
import android.widget.TextView;

import com.google.android.gms.common.ConnectionResult;
import com.google.android.gms.common.api.GoogleApiClient;
import com.google.android.gms.location.LocationListener;
import com.google.android.gms.location.LocationRequest;
import com.google.android.gms.location.LocationServices;

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

    private final String TAG = "MyAwesomeApp";

    private TextView mLocationView;

    private GoogleApiClient mGoogleApiClient;

    private LocationRequest mLocationRequest;

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

        mLocationView = new TextView(this);

        setContentView(mLocationView);

        mGoogleApiClient = new GoogleApiClient.Builder(this)
                .addApi(LocationServices.API)
                .addConnectionCallbacks(this)
                .addOnConnectionFailedListener(this)
                .build();
    }

    @Override
    protected void onStart() {
        super.onStart();
        // Connect the client.
        mGoogleApiClient.connect();
    }

    @Override
    protected void onStop() {
        // Disconnecting the client invalidates it.
        mGoogleApiClient.disconnect();
        super.onStop();
    }

    @Override
    public void onConnected(Bundle bundle) {

        mLocationRequest = LocationRequest.create();
        mLocationRequest.setPriority(LocationRequest.PRIORITY_HIGH_ACCURACY);
        mLocationRequest.setInterval(1000); // Update location every second

        LocationServices.FusedLocationApi.requestLocationUpdates(
                mGoogleApiClient, mLocationRequest, this);
    }

    @Override
    public void onConnectionSuspended(int i) {
        Log.i(TAG, "GoogleApiClient connection has been suspend");
    }

    @Override
    public void onConnectionFailed(ConnectionResult connectionResult) {
        Log.i(TAG, "GoogleApiClient connection has failed");
    }

    @Override
    public void onLocationChanged(Location location) {
        mLocationView.setText("Location received: "   location.toString());
    }
}

ve androidmanifest.xml dosyanız için bu izinleri katmayı unutmayın:

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

Eğer sadece son konum (güncellemeler olmadan) almak istiyorsanız, OnConnected LocationServices.FusedLocationApi.getLastLocation(mGoogleApiClient) kullanabilirsiniz . not:

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • HereWeStayKings

    HereWeStayKi

    3 NİSAN 2013
  • jeffisthecoolguy

    jeffisthecoo

    17 HAZİRAN 2013
  • LounaTutorials

    LounaTutoria

    10 EYLÜL 2009