본문 바로가기
안드로이드/에러노트

lifecycleScope 사용 (firebase를 사용하던 중 정보의 흐름(?)이 이상함!)

by 코드 이야기 2021. 8. 20.
728x90

 

 

 

문제

처음으로 Firebase를 이용하면서 어떻게 해야할지 고민되는 문제를 만났다.

아래와 같은 상황이었다. 비동기 방식이 의심되어 검색을 해보거나 질문을 해서 역시 비동기 방식때문이라는 것을 알았다.

 

 

 

해결

https://developer.android.com/topic/libraries/architecture/coroutines?hl=ko

 

수명 주기 인식 구성요소와 함께 Kotlin 코루틴 사용  |  Android 개발자  |  Android Developers

Kotlin 코루틴은 비동기 코드를 작성할 수 있게 하는 API를 제공합니다. Kotlin 코루틴을 사용하면 코루틴이 실행되어야 하는 시기를 관리하는 데 도움이 되는 CoroutineScope를 정의할 수 있습니다. 각

developer.android.com

 

우선, android developer 공식 사이트를 보고

lifecycleScope.launch {
}

를 이용해 위의 문제는 해결하였다.

recyclerView에서 사용하기 위해 가져온 정보이기 때문에 

어댑터에 정보를 보낼 수 있도록 위의 코드처럼 작성하였다.

그러나 저렇게 하면..음… 현재 접속중인 유저의 정보가 바뀌었을 때는…. 으음….

아마 앱을 나갔다 들어오거나 바텀 네비게이션에서 다른 아이템을 선택해 왔다갔다 하거나 해야 할 것이다..

이런 문제는 리스너를 등록해서 관리한다고 하던 것 같은데… 역시 아직 어렵다… 다음에 적용시켜봐야겠다..

 

말만 들어본 코루틴이라는 것을 접할 있는 좋은 기회가 되었다.

아직 이해가 되지는 않으나 천천히 알아보면서 적용해보도록 해야겠다.

 

 

 

 

 

갈 길이 멀지만 개미처럼 부지런히!

 

 

 

728x90

댓글