티스토리 뷰

프로젝트/Healthy Tracking

20220411 개발일지

실전압축코딩 2022. 4. 12. 01:17

오늘 한 일: 안드로이드 LocationManager 라이브러리 사용 내 위치 찾기 + Viewmodel 적용

 

https://angangmoddi.tistory.com/223

 

 

안드로이드 GPS로 현재 내 위치좌표 구하는법(Kotlin)

이번 글에서는 안드로이드에서 현재 내 위치좌표를 알아보는 방법을 알아보자. 먼저, 내 좌표를 구하기 위해서는 ACCESS_COARSE_LOCATION, ACCESS_FINE_LOCATION권한이필요하다. Manifest파일에 위와 같이 추가

angangmoddi.tistory.com

https://velog.io/@jeep_chief_14/Android%EC%97%90%EC%84%9C-getLastKnownLocation%EC%9D%B4-null%EC%9D%84-%EB%B0%98%ED%99%98%ED%95%A0-%EA%B2%BD%EC%9A%B0

 

Android에서 getLastKnownLocation이 null을 반환할 경우

위치정보 활용하는 토이 프로젝트를 만들고 있었는데getLastKnownLocation()이 계속 null을 반환하였다.마지막으로 갱신되었던 위치를 반환하는데 저장된 위치가 없어서 null을 반환하는 거 같다.Android

velog.io

https://youngest-programming.tistory.com/327

 

[안드로이드] ViewModel 에서 context 필요로 할 때 해결방법

[2021-04-13 업데이트] Dagger2, Koin 같은 의존성주입으로 안전하게 application의 context 를 ViewModel 에 넘기는식 말고 VIewModel에서 액티비티나 프래그먼트의 라이프사이클과 충돌이 안나게 context를 필..

youngest-programming.tistory.com

https://dev-pengun.tistory.com/entry/Kotlin-Android-Studio-%EC%82%BD%EC%A7%88-%EB%B0%A9%EC%A7%80-%EC%98%A4%EB%A5%98-%ED%95%B4%EA%B2%B0-%EB%B0%A9%EB%B2%95-%EB%AA%A8%EC%9D%8C

 

[Kotlin, Android Studio] 삽질 방지 오류 해결 방법 모음

socket.io-client를 이용해서 소켓 클라이언트 기능을 구현할때, 네트워크 설정이 정상임에도 connect()가 동작하지 않는 경우가 있다. 또는 직접 만든 백엔드 서버와 통신시 데이터 전송이나 수신이

dev.exd0tpy.xyz

 

 

면접 보고 오느라 개발을 많이 못했다. LocationManager로 내 위치를 찾는건 쉽게 했다. 근데 문제는 viewmodel에 적용시키는 것이었다. Context를 받아와서 적용시켜야 하는 부분이 꽤 됐다.

 

onCreate가 끝나기 전 getSystemService를 하게되면 다음과 같은 오류가 발생한다.
( getSystemService(Context.TELEPHONY_SERVICE) )
- system services not available to activities before oncreate() 

이럴 때는 context를 받아와서 해당 context의 getSystemService를 호출하자.  context.getSystemService(Context.TELEPHONY_SERVICE)

 

 ViewModel에서 Context를 얻으려면 ViewModel 클래스가 Android View Model 클래스를 확장해야 한 . 

class LoginViewModel(application: Application) : AndroidViewModel(application) {
    private val context = getApplication<Application>().applicationContext

 

 

'프로젝트 > Healthy Tracking' 카테고리의 다른 글

20220410 개발일지  (0) 2022.04.10