강의

멘토링

커뮤니티

인프런 커뮤니티 질문&답변

지현명님의 프로필 이미지
지현명

작성한 질문수

모던 안드로이드 - 코틀린과 Jetpack 활용

[Kotlin] LiveData

LiveData의 gradle 추가 안해도 되나요?

해결된 질문

작성

·

424

0

Kotlin에서 LiveData 사용할때  아래 내용 추가 안해도 되나요?

// LiveData
implementation
"androidx.lifecycle:lifecycle-livedata-ktx:$lifecycle_version"

답변 3

1

오준석님의 프로필 이미지
오준석
지식공유자

네. lifecycleScope는 정확시 androidx.lifecycle:lifecycle-runtime-ktx:2.2.0-alpha01 부터 추가되었습니다.

https://developer.android.com/topic/libraries/architecture/coroutines

솔직히 안드로이드 라이브러리가 너무 많은데 서로 포함관계에 있는 것도 많아서 일단 lifecycleScope 사용이 되면 그냥 쓰고 안 되면 그 때 검색해서 해당 라이브러리 추가하는식으로 하고 있습니다.

그리고 있던 라이브러리도 자꾸 통합되고 없어지고 하니까요. 

안드로이드 하면서는 어쩔 수 없는 것 같습니다.

1

오준석님의 프로필 이미지
오준석
지식공유자

LiveData를 일반적인 용도로 사용할 때는 추가 안 하고 사용할 수 있습니다.
위 라이브러리 추가하면 다음과 같이 loadUser() 가 suspend 함수일때 코루틴 스코프 빌더를 제공할 수 있습니다.

val user: LiveData<User> = liveData {
    val data = database.loadUser() // loadUser is a suspend function.
    emit(data)
}

참고로 모던 안드로이드 다음편에 백그라운드 작업 편을 기획중이며 거기서 코루틴도 다룰 예정입니다.

0

지현명님의 프로필 이미지
지현명
질문자

lifecycleScope을 사용하려고 하니 implementation 'androidx.activity:activity-ktx:1.2.0-alpha07'
이 내용이 포함되어야 했군요
지현명님의 프로필 이미지
지현명

작성한 질문수

질문하기