PeterPlanet
PeterPlanet
PeterPlanet
전체 방문자
오늘
어제
  • 분류 전체보기 (30)
    • 블록체인 (0)
    • Flutter programming (6)
    • Side Project (1)
      • 베스트셀러 (1)
    • Kotlin programming (16)
      • 코틀린(kotlin) (12)
      • Compose (4)
    • 아이폰(xcode) (6)
    • 구글 관련 (1)

블로그 메뉴

  • 홈
  • 태그
  • 방명록

공지사항

인기 글

태그

  • flutter confirm
  • update target sdk
  • webview confirm
  • compose
  • 코틀린
  • 컨테이너에 리플효과
  • webview alert
  • target sdk update
  • 안드로이드
  • Android
  • Ripple
  • 앱개발
  • flutter alert
  • system confirm
  • obj-c
  • 네아로
  • Update Android Target SDK 32 Version
  • Flutter
  • Objective-C
  • Kotlin

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
PeterPlanet

PeterPlanet

Kotlin programming/Compose

[Compose] livedata 에 observeAsState 함수 사용하기

2022. 1. 19. 09:51
반응형

구글 디벨롭에서 Compose 코스를 공부 하던 중에 livedata 에 observeAsState를 사용하는 예제가 있습니다.

제 앱에서 해당 함수를 호출 하려니 observe만 있고 observeAsState 라는 함수는 없었고 왜 없나 해서 찾아 보니 사용하는 라이브러리 패키지가 달랐습니다.

import androidx.compose.runtime.getValue
import androidx.compose.runtime.livedata.observeAsState


@Composable
private fun TodoActivityScreen(todoViewModel: TodoViewModel) {
   val items: List<TodoItem> by todoViewModel.todoItems.observeAsState(listOf())
   TodoScreen(
       items = items,
       onAddItem = { todoViewModel.addItem(it) },
       onRemoveItem = { todoViewModel.removeItem(it) }
   )
}

해당 함수는 기존 androidx.lifecycle.Livedata 패키지에는 없는 함수로 아래의 runtime-livedata 라이브러리를 추가 해야 사용 할 수 있다.

implementation 'androidx.compose.runtime:runtime-livedata:1.0.5'

 

+ 추가로 MutableStateFlow 로 옵저브 할 떄는 

val item: List<TodoItem> by viewModel.todoitem.asStateFlow().collectAsState(listOf())

 

저작자표시 (새창열림)

'Kotlin programming > Compose' 카테고리의 다른 글

[Compose] 'by' 가 동작하지 않을 때  (0) 2022.07.21
[Compose] 하철이 - 가로 스크롤 아이템  (0) 2022.01.19
[Compose] 클릭했을 때 리플 효과 비활성화(disable ripple effect when clicking in Jetpack Compose)  (0) 2022.01.12
    'Kotlin programming/Compose' 카테고리의 다른 글
    • [Compose] 'by' 가 동작하지 않을 때
    • [Compose] 하철이 - 가로 스크롤 아이템
    • [Compose] 클릭했을 때 리플 효과 비활성화(disable ripple effect when clicking in Jetpack Compose)
    PeterPlanet
    PeterPlanet
    기록하기

    티스토리툴바