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의 권한을 동시에 흭득
'개발 log (개발) > mobile' 카테고리의 다른 글
'암시적 인텐트' 사용금지 (0) | 2016.10.26 |
---|---|
'내 위치 확인' 을 위한 googlemap 및 geocoding (0) | 2016.10.25 |
'커스텀달력' 구현을 위한 커스텀뷰 #1 (0) | 2016.09.14 |
'커스텀달력' 구현을 위한 이론(Fragment) (0) | 2016.09.06 |
'커스텀갤러리' 구현을 위한 이론(ExternalStorage, DrawingCache) (0) | 2016.09.03 |