http://developer.Android.com/training/location/retrieve-current.html からデモプロジェクトをダウンロードしましたが、手順を失うことはないと思います。しかし、どのjarファイルに「com.google.Android.gms.location.LocationClient.class」ファイルが含まれているのかわかりません
すべての「google-play-services.jar」と「maps.jar」、および「Android.jar(すべてのバージョン)」に「LocationClient.class」が含まれていませんか?
Gradleファイルに追加(x.y.z-Google Play Servicesの実際のバージョン):
compile 'com.google.Android.gms:play-services-location:x.y.z'
最後のGPSライブラリに問題があります。最新(6. +)よりも古いバージョンを使用する必要があります。古いバージョンで試してください。ドキュメント内でLocationClient.class
。
compile 'com.google.Android.gms:play-services:5.+'
LocationClientは非推奨です。次のように、GoogleApiclient
を使用する必要があります。
1:GoogleApiClient変数を宣言する
private GoogleApiClient mGoogleApiClient;
2:インスタンス化
mGoogleApiClient = new GoogleApiClient.Builder(mThisActivity)
.addApi(LocationServices.API)
.addConnectionCallbacks(this)
.addOnConnectionFailedListener(this)
.build();
3:コールバックを実装する
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:ロケーションの更新の取得を開始します。
LocationServices.FusedLocationApi.requestLocationUpdates(
mGoogleApiClient, mLocationRequest, this);
5:ロケーションの更新を削除します:
LocationServices.FusedLocationApi.removeLocationUpdates(mGoogleApiClient, this);
6:最後の既知の位置を取得します:
private Location mCurrentLocation;
mCurrentLocation = LocationServices.FusedLocationApi.getLastLocation(mGoogleApiClient);
Location Clientが非推奨になったため、クラスはパッケージ内にもう見つかりません。代わりに次を使用する必要があります
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();
Jeremie Petitjeanのソリューションは私のために働いた。に入る youbuild.grade
ファイルを作成し、アプリを以前のバージョン用に構成します。これは私が使用したものであり、現在動作しています:
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+'
}
Google Play Service SDKを更新してから、更新されたライブラリを使用する必要があります。
Android Studio:
アプリフォルダーを右クリック->モジュールの設定を開く->依存関係->プラスボタンをクリック->ライブラリの依存関係を選択->「play-services」を検索-> com.google.Android.gms:playをダブルクリック-サービス
Okを押して、Gradleの再構築を待ちます。エラーが発生した場合は、プロジェクトをクリーンにして再構築します。 here
Phonegap CLIで直接作業する人のために。 plugin.xmlで次の行が必要です
<framework src="com.google.Android.gms:play-services-location:+" />
Android SDK Managerを使用してGoogle Playライブラリを最新バージョンに更新します。さらに、ライブラリを手動で削除し、 これらの手順 に従ってプロジェクトに再度追加する必要がありました=。バージョン3.1.36の内容:
場所フォルダー:
ADT/SDKも更新する必要がある場合があります。
これをプロジェクトに追加します `
implementation 'com.google.Android.gms:play-services-location:16.0.0'//location services`
以下のリンクを確認してください
com.google.Android.gmsのインポートは解決できません
私のプロジェクトが実行され、マップが表示されるようにgoogle-play-services.jarプロジェクトの依存関係を追加する方法
以下の手順に従って時間を節約してください
このようにして、Google Playサービスのライブラリをインポートできます。同じことに関する質問があれば教えてください。