MVVM 환경에서 카카오 로그인을 하려고 하였습니다.
안드로이드 환경에서 카카오 로그인을 구현하기 위해서는 카카오 SDK 를 사용합니다.
카카오 로그인을 하는 방법은 크게 2가지로 나뉩니다.
앱 로그인 , 계정 로그인 이 2가지가 있는데
//앱 로그인
UserApiClient.instance.loginWithKakaoTalk(context) { token, error ->
}
//계정(이메일) 로그인
UserApiClient.instance.loginWithKakaoAccount(context) { token, error ->
}
이코드를 보면 알다시피 context를 필요로 합니다. 이게 액티비티의 context를 사용하면 문제가 없지만 ViewModel에서 Application의 context를 사용하였을때 문제가 발생하였습니다.
찾아보니
https://jgeun97.tistory.com/350
그이유가 앱이나 WebView로 이동을 해야되는데 startActivity가 액티비티 밖에서 호출되서 에러가 생기고 webview로 가더라도
계속하기후 동작이 되지 않습니다. 그렇다면 Viewmodel에서는 State로만 가지고 있고 액티비티나 프레그먼트에서 이벤트를 옵저빙하여 처리하게되면 로그인 처리를 할수있습니다.
'안드로이드 > 안드로이드' 카테고리의 다른 글
안드로이드 MVVM ViewModel과 AAC ViewModel (4) | 2024.11.09 |
---|---|
안드로이드에서 UI를 업데이트 하는 방법 (0) | 2024.11.07 |
CNA(Chirag Note App) 프로젝트하면서 생긴 이슈 및 해결 ,기술 정리 (0) | 2024.10.02 |
CNA(Chirag Note App) 클론코딩 & 리펙토링 회고 (1) | 2024.10.01 |
CIP(Cat-Image-Provider) 프로젝트하면서 생긴 이슈 및 해결 ,기술 정리 (1) | 2024.09.27 |