Kotlin

Kotlin | LiveData List Type Add ( LiveData List형 추가)

ziziDev 2024. 12. 10. 13:45
반응형

 

 

var examList = MutableLiveData<List<ExamVo>>()


fun addAuthMachine(vo: ExamVo) {

    val currentList = examList.value?.toMutableList() ?: mutableListOf()
    
    currentList.add(vo)
    
    examList.value = currentList
}

 

LiveData는 Android에서 UI 관련 데이터를 관찰(Observable)할 수 있는 라이프사이클-aware 데이터를 관리하는 컴포넌트입니다. LiveData는 ViewModel과 함께 사용하는 경우가 많으며, 주로 UI 데이터를 저장하고 UI 상태를 관리하는 데 사용됩니다.

주요 특징:

  1. 라이프사이클 인식(Lifecycle-aware):
    • LiveData는 Android의 컴포넌트(예: Activity, Fragment, Service)의 라이프사이클을 인식합니다. 이는 LiveData 객체가 라이프사이클을 가진 컴포넌트가 활성 상태일 때만 데이터를 업데이트하고, 컴포넌트가 비활성화되거나 종료되면 자동으로 데이터를 멈추게 합니다.
    • 예를 들어, Activity나 Fragment가 화면에서 사라질 때 LiveData는 자동으로 데이터를 업데이트하지 않으며, 다시 화면에 나타날 때는 최신 데이터를 업데이트합니다.
  2. 자동 UI 업데이트:
    • LiveData는 UI를 자동으로 업데이트하는 기능을 제공합니다. LiveData에 저장된 데이터가 변경되면 이를 관찰하고 있는 UI 컴포넌트(Activity 또는 Fragment)가 자동으로 갱신됩니다. 이는 LiveData가 Observer 패턴을 사용하기 때문입니다.
  3. 데이터 변경 알림:
    • LiveData는 데이터가 변경될 때마다 해당 데이터를 관찰하는 Observer에게 알림을 보냅니다. 이를 통해 UI는 항상 최신 상태를 유지할 수 있습니다.
  4. 메모리 관리:
    • LiveData는 라이프사이클을 인식하여, 관찰 중인 컴포넌트가 비활성화되거나 종료되면 데이터가 더 이상 갱신되지 않습니다. 이렇게 해서 메모리 누수나 불필요한 UI 갱신을 방지합니다.
반응형