[kotlin] 라이프사이클 관리를 위한 안드로이드 아키텍처 컴포넌트

안드로이드 아키텍처 컴포넌트란?

안드로이드 아키텍처 컴포넌트는 Google이 제공하는 라이프사이클 관리, 데이터 관리, UI 관련 기능 등을 단순화하는 도구 모음입니다.

ViewModel

ViewModel은 앱의 UI 관련 데이터를 저장하고, UI 관련 로직을 처리하는 데 사용됩니다. 액티비티나 프래그먼트가 재생성될 때에도 데이터를 유지할 수 있도록 도와줍니다.

class MyViewModel : ViewModel() {
    val data: MutableLiveData<String> = MutableLiveData()

    fun fetchDataFromRepository() {
        // 레포지토리에서 데이터를 가져와서 data에 할당
        data.value = "새로운 데이터"
    }
}

LiveData

LiveData는 수명 주기를 인식하는 데이터 홀더 클래스로, 데이터의 변화를 관찰하고 UI를 자동으로 업데이트할 수 있습니다.

class MyActivity : AppCompatActivity() {
    private lateinit var viewModel: MyViewModel

    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        viewModel = ViewModelProvider(this).get(MyViewModel::class.java)
        viewModel.data.observe(this, Observer { newData ->
            // UI 업데이트 로직
        })
    }
}

위의 예시 코드에서는 MyViewModel 클래스를 사용하여 데이터를 저장하고, MyActivity에서 이 데이터의 변화를 감지하여 UI를 업데이트하는 방법을 보여줍니다.

안드로이드 아키텍처 컴포넌트를 사용하면 앱의 라이프사이클을 효과적으로 관리할 수 있고, UI 관련 데이터를 손쉽게 처리할 수 있습니다.

이렇게 안드로이드 아키텍처 컴포넌트를 통해 라이프사이클 관리를 하는 방법에 대해 알아봤습니다. 더 많은 정보를 원하시면 공식 안드로이드 문서를 참고해보세요.