J'ai téléchargé un projet de démonstration depuis http://developer.Android.com/training/location/retrieve-current.html , et je pense que je n'ai perdu aucune étape; Mais je ne trouve pas quel fichier jar contient le fichier "com.google.Android.gms.location.LocationClient.class"
Nous avons trouvé que tous les "google-play-services.jar" et "maps.jar" et "Android.jar (toutes les versions)" ne contiennent pas le "LocationClient.class"?
Ajouter au fichier Gradle (x.y.z - version actuelle des services Google Play):
compile 'com.google.Android.gms:play-services-location:x.y.z'
Il y a un problème avec la dernière librairie GPS. Vous devez utiliser une version plus ancienne que la dernière (6. +). Essayez avec une version plus ancienne. Je n'ai rien vu à l'intérieur du document obsolète ou manquant sur le LocationClient.class
.
compile 'com.google.Android.gms:play-services:5.+'
LocationClient est obsolète. Vous devez utiliser GoogleApiclient
, comme ceci:
1: Déclarez une variable GoogleApiClient
private GoogleApiClient mGoogleApiClient;
2: Instancier
mGoogleApiClient = new GoogleApiClient.Builder(mThisActivity)
.addApi(LocationServices.API)
.addConnectionCallbacks(this)
.addOnConnectionFailedListener(this)
.build();
3: implémenter le rappel
public class YourClass extends BaseFragment implements
GoogleApiClient.ConnectionCallbacks,
GoogleApiClient.OnConnectionFailedListener, LocationListener {
@Override
public void onConnectionFailed(ConnectionResult result) {
// your code goes here
}
@Override
public void onConnected(Bundle connectionHint) {
//your code goes here
}
@Override
public void onConnectionSuspended(int cause) {
//your code goes here
}
}
4: Commencez à obtenir des mises à jour de localisation:
LocationServices.FusedLocationApi.requestLocationUpdates(
mGoogleApiClient, mLocationRequest, this);
5: Supprimer les mises à jour de localisation:
LocationServices.FusedLocationApi.removeLocationUpdates(mGoogleApiClient, this);
6: Dernière localisation connue:
private Location mCurrentLocation;
mCurrentLocation = LocationServices.FusedLocationApi.getLastLocation(mGoogleApiClient);
Comme Location Client est obsolète, la classe n'est plus trouvée dans le package. Nous devons utiliser ce qui suit à la place
mGoogleApiClient = new GoogleApiClient.Builder(this)
.addApi(LocationServices.API)
.addConnectionCallbacks(new GoogleApiClient.ConnectionCallbacks(){
@Override
public void onConnected(Bundle arg0) {
// TODO Auto-generated method stub
LocationRequest request = new LocationRequest();
int priority = LocationRequest.PRIORITY_BALANCED_POWER_ACCURACY;
if (enableHighAccuracy) {
priority = LocationRequest.PRIORITY_HIGH_ACCURACY;
}
request.setPriority(priority);
LocationServices.FusedLocationApi.requestLocationUpdates(
locationClient, request, new LocationListener() {
@Override
public void onLocationChanged(Location location) {
locationClient.disconnect();
}
});
}
@Override
public void onConnectionSuspended(int arg0) {
// TODO Auto-generated method stub
}
})
.addOnConnectionFailedListener(new GoogleApiClient.OnConnectionFailedListener() {
@Override
public void onConnectionFailed(ConnectionResult arg0) {
// TODO Auto-generated method stub
}
})
.build();
La solution de Jérémie Petitjean a fonctionné pour moi. Allez dans youbuild.grade
fichier et configurez votre application pour une version inférieure. C'est ce que j'ai utilisé et ça marche maintenant:
apply plugin: 'com.Android.application'
Android {
compileSdkVersion 19
buildToolsVersion "19.1.0"
defaultConfig {
applicationId "<APPLICATION NAME>"
minSdkVersion 9
targetSdkVersion 19
versionCode 1
versionName "1.0"
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-Android.txt'), 'proguard-rules.pro'
}
}
}
dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
compile 'com.Android.support:support-v4:19.1.0'
compile 'com.Android.support:appcompat-v7:19.0.1'
compile 'com.google.Android.gms:play-services:4.2+'
}
Vous devez mettre à jour le SDK du service Google Play, puis utiliser la bibliothèque mise à jour.
Essayez ceci si vous utilisez Android Studio:
Faites un clic droit sur le dossier de votre application -> Ouvrir les paramètres du module -> Dépendances -> Cliquez sur le bouton plus -> Choisissez la dépendance de la bibliothèque -> Recherchez "play-services" -> Double-cliquez sur com.google.Android.gms: jouer -prestations de service
Appuyez sur Ok et attendez que Gradle reconstruise. Si l'erreur se produit, nettoyez et reconstruisez votre projet. ici
Pour le bénéfice de toute personne travaillant directement avec Phonegap CLI. Dans votre plugin.xml, vous avez besoin de la ligne
<framework src="com.google.Android.gms:play-services-location:+" />
Mettez à jour la bibliothèque Google Play vers la dernière version à l'aide du gestionnaire de SDK Android. De plus, j'ai dû supprimer la bibliothèque manuellement et l'ajouter à nouveau à mon projet en suivant ces étapes =. La version 3.1.36 contient:
Le dossier d'emplacement:
Vous devrez peut-être également mettre à jour l'ADT/SDK.
ajoutez ceci à votre projet `
implementation 'com.google.Android.gms:play-services-location:16.0.0'//location services`
vérifier les liens ci-dessous
l'import com.google.Android.gms ne peut pas être résol
Suivez ces étapes et gagnez du temps
Et de cette façon, vous pouvez importer la bibliothèque du service google play. Faites-moi savoir si vous avez des questions à ce sujet.