Untitled

키워드

  1. 카카오톡, 공공데이터 API
  2. Retrofit, OkHttpLoggingInterceptor
  3. FusedLocationProvider
  4. Coroutine
  5. AppWidgetProvider
  6. Service Lifecycle

개발 과정

1. 위치 정보 가져오기

우선 사용자의 위치 정보를 불러와야 한다. 위치 정보를 가져오기 위해서 권한 을 설정한다.

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

권한을 설정했으면 requestPermissiononRequestPermissionResult 를 구현한다. requestPermission 은 권한을 요청하고 onRequestPermissonResult 는 권한 요청의 결과를 확인한다.

요청할 권한 정의

우선 companion object 로 요청할 권한들을 정의했다.

	companion object {
        private val permissions = arrayOf(
            Manifest.permission.ACCESS_COARSE_LOCATION,
            Manifest.permission.ACCESS_FINE_LOCATION
        )

        private val backgroundPermissions = arrayOf(
            Manifest.permission.ACCESS_BACKGROUND_LOCATION
        )

        const val REQUEST_ACCESS_LOCATION_PERMISSIONS = 100
        const val REQUEST_ACCESS_BACKGROUND_LOCATION_PERMISSIONS = 101
    }

사용자에게 권한 요청

요청할 권한들과 권한에 대한 고유값을 입력한다.

	private fun requestLocationPermissions() {
        ActivityCompat.requestPermissions(
            this,
            permissions,
            REQUEST_ACCESS_LOCATION_PERMISSIONS
        )
    }