2013-05-19 69 views
23

Tôi đã tải xuống một dự án demo từ http://developer.android.com/training/location/retrieve-current.html và tôi nghĩ rằng tôi không mất bất kỳ bước nào; Nhưng tôi không thể tìm thấy tệp jar nào chứa tệp “com.google.android.gms.location.LocationClient.class”Không thể tìm thấy lớp com.google.android.gms.location.LocationClient (android)

Chúng tôi tìm thấy tất cả "google-play-services.jar" và "maps.jar", và "android.jar (Tất cả các phiên bản)" không chứa "LocationClient.class"?

+2

Tôi chỉ cập nhật "dịch vụ bổ sung \ google play" thông qua "Trình quản lý SDK Android", tôi tìm thấy tệp "google-play-services.jar" mới nhất chứa tệp "LocationClient.class"; (và tệp "google-play-services.jar" cũ chỉ được tải xuống cách đây 5 ngày) –

Trả lời

1

Bạn cần cập nhật SDK dịch vụ của Google Play và sau đó sử dụng thư viện được cập nhật.

0

Cập nhật thư viện Google Play lên phiên bản mới nhất bằng Trình quản lý SDK Android. Ngoài ra, tôi đã phải xóa thư viện theo cách thủ công và thêm lại vào dự án của tôi theo số these steps. Phiên bản 3.1.36 chứa:

enter image description here

Các vị trí thư mục:

enter image description here

Bạn có thể phải cập nhật ADT/SDK là tốt.

0

kiểm tra bên dưới liên kết

The import com.google.android.gms cannot be resolved

How to add google-play-services.jar project dependency so my project will run and present map

Thực hiện theo các bước và tiết kiệm thời gian của bạn

  1. Kích chuột phải vào Project Explorer của bạn.
  2. Chọn New-> Project -> Dự án Ứng dụng Android từ Mã hiện
  3. Duyệt tối đa chỉ con đường này - "C: \ Users \ Tên \ Local \ Android \ sdk \ extras \ google \ google_play_services"
  4. Hãy duyệt cẩn thận chỉ lên đến - google_play_services và không đạt google_play_services_lib

và bằng cách này bạn có thể nhập google play dịch vụ lib. Hãy cho tôi biết nếu bạn có bất kỳ câu hỏi nào liên quan đến nhau.

14

Có một số vấn đề với lib GPS cuối cùng. Bạn phải sử dụng phiên bản cũ hơn phiên bản mới nhất (6. +). Hãy thử với một phiên bản cũ hơn. Tôi không thấy bất cứ điều gì bên trong tài liệu không được chấp nhận hoặc bị thiếu về số LocationClient.class.

compile 'com.google.android.gms:play-services:5.+' 
+3

Điều này có tác dụng vì trong 5. + Địa điểm LocationClient không được chấp nhận vẫn được đưa vào trong khi ở 6.5. + chúng đã thay thế bằng GoogleApiClient, hơn thế nữa thông tin ở đây http://stackoverflow.com/questions/24611977/android-locationclient-class-is-deprecated-but-used-in-documentation – TouchBoarder

+0

câu trả lời hay, nhưng ở đây tìm phiên bản thực tế hơn: https://developers.google .com/android/guide/setup –

2

Giải pháp của Jeremie Petitjean có hiệu quả đối với tôi. Truy cập vào youbuild.grade tệp và định cấu hình ứng dụng của bạn để có phiên bản thấp hơn. Đây là những gì tôi đã sử dụng và hoạt động ngay bây giờ:

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+' 
} 
3

Vì khách hàng vị trí không còn được sử dụng trong gói. Chúng tôi phải sử dụng các mục sau đây thay vì

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(); 
19

Thêm vào tệp Gradle (x.y.z - phiên bản thực tế của Dịch vụ của Google Play):

compile 'com.google.android.gms:play-services-location:x.y.z' 
+0

vào thời điểm này phiên bản mới nhất là: biên dịch 'com.google.android.gms: play-services-location: 8.4.0' –

13

LocationClient không được dùng nữa. Bạn phải sử dụng GoogleApiclient, như thế này:

1: Khai báo một biến GoogleApiClient

private GoogleApiClient mGoogleApiClient; 

2: Khởi tạo

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

3: Thực hiện gọi lại

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: Bắt đầu để nhận thông tin cập nhật vị trí:

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

5: Di chuyển Location Cập nhật:

LocationServices.FusedLocationApi.removeLocationUpdates(mGoogleApiClient, this); 

6: Nhận Last Known Location:

private Location mCurrentLocation; 

mCurrentLocation = LocationServices.FusedLocationApi.getLastLocation(mGoogleApiClient); 
+0

Cảm ơn, cách tuyệt vời để tôi viết lại vị trí của mình- lớp trợ giúp với API mới này. – Thermometer

1

Để tiện lợi hơn bất cứ ai làm việc trực tiếp với PhoneGap CLI. Trong plugin.xml của bạn, bạn cần dòng

<framework src="com.google.android.gms:play-services-location:+" /> 
0

Hãy thử điều này nếu bạn sử dụng Android Studio:

Nhấp chuột phải vào thư mục ứng dụng của bạn -> Open Mô-đun Cài đặt -> Dependencies -> Click vào nút dấu cộng - > Chọn phụ thuộc thư viện -> Tìm kiếm "play-services" -> Nhấp đúp vào com.google.android.gms: play-services

Bấm Ok và đợi Gradle để xây dựng lại. Nếu lỗi xảy ra sạch sẽ và xây dựng lại dự án của bạn. here

Các vấn đề liên quan