2015-09-14 4 views
0

Ниже приведен файл MainActivity.Java. Я импортировал все пакеты, необходимые для LocationService, но до сих пор я получаю ошибкуLocation_Services. API: Невозможно разрешить API

"Cannot find Symbol Variable API" 

Ниже строки, где я получаю сообщение об ошибке.

mGoogleApiClient = new GoogleApiClient.Builder(this) 
       .addApi(LOCATION_SERVICE.API) //Cannot resolve symbol Variable 
       .addConnectionCallbacks(this) 
       .addOnConnectionFailedListener(this) 
       .build(); 

Список инструментов SDK, установленных вместе с версией.

  • Android SDK инструменты для сборки
  • Android SDK Tools 24.3.4
  • Android Поддержка Repository, ред 19
  • Library Поддержка Android, ред 23.0.1
  • Google Play Service, 26 оборотов
  • Google Repository, rev 21
  • Библиотека расширения Google Play APK, rev3
  • Android Авто API Имитаторы

Код:

package com.example.android.location2; 

import android.support.v7.app.AppCompatActivity; 
import android.os.Bundle; 
import android.view.Menu; 
import android.view.MenuItem; 
import android.location.Location; 
import android.widget.TextView; 
import android.util.Log; 

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; 
import com.google.android.gms.common.ConnectionResult; 


import com.google.android.gms.common.api.GoogleApiClient; 

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

    private final String LOG_TAG ="LaurenceTestApp"; 
    private TextView txtOutput; 
    private GoogleApiClient mGoogleApiClient; 
    private LocationRequest mLocationRequest; 


    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_main); 
     // Create a GoogleApiClient instance 
     mGoogleApiClient = new GoogleApiClient.Builder(this) 
       .addApi(LOCATION_SERVICE.API) 
       .addConnectionCallbacks(this) 
       .addOnConnectionFailedListener(this) 
       .build(); 
     txtOutput= (TextView) findViewById(R.id.txtOutput); 

    } 



    @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(10); // Update location every second 

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

    } 

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

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

    @Override 
    public void onLocationChanged(Location location) { 
     Log.i(LOG_TAG, location.toString()); 
     //txtOutput.setText(location.toString()); 

     txtOutput.setText(Double.toString(location.getLatitude())); 
    } 


    @Override 
    public boolean onCreateOptionsMenu(Menu menu) { 
     // Inflate the menu; this adds items to the action bar if it is present. 
     getMenuInflater().inflate(R.menu.menu_main, menu); 
     return true; 
    } 

    @Override 
    public boolean onOptionsItemSelected(MenuItem item) { 
     // Handle action bar item clicks here. The action bar will 
     // automatically handle clicks on the Home/Up button, so long 
     // as you specify a parent activity in AndroidManifest.xml. 
     int id = item.getItemId(); 

     //noinspection SimplifiableIfStatement 
     if (id == R.id.action_settings) { 
      return true; 
     } 

     return super.onOptionsItemSelected(item); 
    } 
} 
+0

Итак, я предполагаю, что вы импортировали этот пакет? – Eenvincible

+0

Hi Eenvincible, Я импортировал пакеты, присутствующие в коде. Согласно моему знакомую выступу, который требовал пакет. –

ответ

0

кажется, что вы забыли импортировать Google Play Services в вашем приложении проекта. Именно поэтому ваш код приложения и импортированные имена пакетов не могут найти пакет gms. Процесс будет отличаться для Android Studio и ADT Bundle при использовании Eclipse. См. Официальную документацию для Setting up Google Play Services.

Если вы работаете в Android Studio, вам нужно добавить зависимости в файле build.gradle вашего проекта приложения и синхронизировать файлы градиента. Вы можете обратиться к следующим SO post и посмотреть ответы.

Если вы работаете на Eclipse, используя ADT Bundle, все будет немного отличаться. Существует некоторая ручная работа по копированию и вставке файла .jar в каталог вашего приложения и импорт его внутри вашего envionrment разработки. Таким образом будут распознаны пакеты gms. Пожалуйста, обратитесь к этому шагу, шаг за шагом document с диаграммой для достижения этой задачи.

Надеюсь, что это поможет!

+0

Thnaks AniV для вашего ответа. Я пробовал эту ссылку «[link] https://developers.google.com/android/guides/setup» для настройки сервиса Google Play. Я включил «зависимости» { compile fileTree (dir: 'libs', include: ['*.jar ']) compile' com.android.support:appcompat-v7:23.0.1 ' compile' com.google.android.gms: play-services: 7.8.0 ' } "в зависимостях. –

1
mGoogleApiClient = new GoogleApiClient.Builder(this) 
       .addApi(LOCATION_SERVICE.API) //Cannot resolve symbol Variable 
       .addConnectionCallbacks(this) 
       .addOnConnectionFailedListener(this) 
       .build(); 

Вместо Location_Service это должно быть LocationServices. Изменение этого вопроса разрешило проблему.

Спасибо всем за помощь

Смежные вопросы