마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다. 안드로이드펍에서 운영하고 있습니다. [사용법, 운영진]

google play service 현재위치 구하기 질문합니다.

0 추천
import com.google.android.gms.common.ConnectionResult;
import com.google.android.gms.common.GooglePlayServicesClient;
import com.google.android.gms.common.GooglePlayServicesUtil;
import com.google.android.gms.location.LocationClient;
import com.google.android.gms.location.LocationListener;
import com.google.android.gms.location.LocationRequest;

import android.content.IntentSender;
import android.location.Address;
import android.location.Geocoder;
import android.location.Location;
import android.os.AsyncTask;
import android.os.Build;
import android.os.Bundle;
import android.annotation.SuppressLint;
import android.app.Activity;
import android.app.Dialog;
import android.content.Context;
import android.content.Intent;
import android.content.SharedPreferences;
import android.support.v4.app.DialogFragment;
import android.support.v4.app.FragmentActivity;
import android.util.Log;
import android.view.View;
import android.widget.ProgressBar;
import android.widget.TextView;
import android.widget.Toast;

import java.io.IOException;
import java.util.List;
import java.util.Locale;

public class MainActivity<LocationClient> extends FragmentActivity implements
        LocationListener,
        GooglePlayServicesClient.ConnectionCallbacks,
        GooglePlayServicesClient.OnConnectionFailedListener {

    private LocationRequest mLocationRequest;

    private LocationClient mLocationClient;

    private TextView mLatLng;
    private TextView mAddress;
    private ProgressBar mActivityIndicator;
    private TextView mConnectionState;
    private TextView mConnectionStatus;

    SharedPreferences mPrefs;

    SharedPreferences.Editor mEditor;

    boolean mUpdatesRequested = false;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        mLatLng = (TextView) findViewById(R.id.lat_lng);
        mAddress = (TextView) findViewById(R.id.address);
        mActivityIndicator = (ProgressBar) findViewById(R.id.address_progress);
        mConnectionState = (TextView) findViewById(R.id.text_connection_state);
        mConnectionStatus = (TextView) findViewById(R.id.text_connection_status);

        mLocationRequest = LocationRequest.create();

        mLocationRequest.setInterval(LocationUtils.UPDATE_INTERVAL_IN_MILLISECONDS);

        mLocationRequest.setPriority(LocationRequest.PRIORITY_HIGH_ACCURACY);

        mLocationRequest.setFastestInterval(LocationUtils.FAST_INTERVAL_CEILING_IN_MILLISECONDS);

        mUpdatesRequested = false;

        mPrefs = getSharedPreferences(LocationUtils.SHARED_PREFERENCES, Context.MODE_PRIVATE);

        mEditor = mPrefs.edit();

        mLocationClient = new LocationClient(this, this, this);
    }
    // 중략..
}
    // import com.google.android.gms.location.LocationClient; 오류 발생
    // The import com.google.android.gms.location.LocationClient cannot be resolved
    

안녕하세요.

전까지는 locationManager로 위치를 구하다가 google play service가 오차가 작다고 해서 샘플코드로 사용해보려고 하는데요.

sdk manager에서 google play services 설치하고

이클립스에 google play services sdk import해줬습니다.

그리고 프로젝트에 google-play-services-lib 추가해줬습니다.

그런데 위와 코드 가장 아래 주석처리한 부분과 같은 오류가 발생합니다.

위와같이 import가 안되는 사항은 라이브러리 추가를 잘못한걸까요?

어느 부분을 봐줘야할 지 잘 모르겠습니다.....

아시는 분 도움 주시면 감사하겠습니다!

익명사용자 님이 2015년 3월 12일 질문

1개의 답변

+2 추천
LocationClient 사용하는 방법도 deprecated되었습니다.

제가 이클립스로 작업하지 않아서 엉뚱한 대답을 할 수도 있겠습니다만,

최신 google-play-services-lib라면 LocationClient가 없을 겁니다. 그래서 정상적으로 import를 했어도 저런 에러가 발생하는 것으로 보입니다.

최근 구글문서에서는 GoogleApiClient 를 이용한 방법이 권장되고 있습니다.구글 사이트 참고하세요
cc1232 (35,280 포인트) 님이 2015년 3월 12일 답변
...