본문 바로가기
개발 log (개발)/mobile

'내 위치 확인' 을 위한 gps 다루기

by abbear25 2016. 10. 25.

GPS 구현 순서 및 이론


1.LocationManager(위치 관리자) 생성

LocationProvider(위치 제공자)를 제공

LocationManager manager = 

(LocationManager)getSystemService(Context.LOCATION_SERVICE);

List<String> providers = manager.getAllProviders(); 

*getAllProviders(), 가능한 모든 위치 제공자 반환

 getBestProvider(), 주어진 기준에 가장 잘 부합하는 위치 제공자 반환

기준 요소는 파워 소모, 정확도, 방향, 속도, 고도 등


2.LocationListener listener = new LocationListener(){

public void onLocationChanged(Location location){};

위치정보를 가져오는 메소드

위치 이동이나 시간 경과시 호출

location으로 부터 현재위치를 가져옴

public void onStatusChanged(String provider, int status, Bundle extras){};

위치 제공자가 사용 불가능해지는 경우 호출

public void onProviderEnabled(String provider){};

위치 제공자가 사용 가능해질 경우 호출

public void onProviderDisabled(String provider){};

위치 제공자 상태가 변경될 때 호출

}


3.manager.requestLocationUpdates(LocationManager.GPS_PROVIDER, 0, 0, listener);

param1, 위치 제공자 유형

.GPS_PROVIDER

.NETWORK_PROVIDER

.PASSIVE_PROVIDER

param2, 위치 통지 주기의 시간 간격(단위, millsecond)

param3, 위치 통지 주기의 거리 간격(단위, m)

param4, 위의 콜백 메소드

*사용자 위치를 얻기위해선 LocationListener(콜백 메소드)를 등록

이는 위치를 계산하는 시간이 많이 걸리고 위치를 주기적으로 제공받기 때문임


4.Manifests 권한 흭득

<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/>

*network, gps provider의 권한을 동시에 흭득


반응형