[kotlin] 데이터바인딩을 통한 액티비티 간 데이터 공유
데이터바인딩은 안드로이드에서 XML 레이아웃 파일과 뷰 관련 로직을 손쉽게 바인딩할 수 있는 기능을 제공합니다. 이 기능을 활용하여 액티비티 간에 데이터를 공유하는 방법을 알아보겠습니다.
데이터바인딩 설정
먼저, 데이터바인딩을 사용하려면 build.gradle
파일에 아래의 의존성을 추가해야 합니다.
android {
...
buildFeatures {
dataBinding true
}
}
dependencies {
...
implementation "androidx.databinding:databinding-runtime:{latest_version}"
}
그리고 액티비티의 XML 파일 상단에 데이터바인딩을 활성화하는 코드를 추가해야 합니다.
<?xml version="1.0" encoding="utf-8"?>
<layout xmlns:android="http://schemas.android.com/apk/res/android">
<data>
<variable
name="sharedData"
type="com.example.SharedData" />
</data>
<LinearLayout
...
android:layout_width="match_parent"
android:layout_height="match_parent">
<!-- 레이아웃 내용 -->
</LinearLayout>
</layout>
데이터 공유
데이터바인딩을 사용하여 액티비티 간에 데이터를 공유하려면, 송신 측 액티비티에서는 다음과 같이 데이터를 설정할 수 있습니다.
val binding: YourActivityBinding = DataBindingUtil.setContentView(this, R.layout.your_activity)
val sharedData = SharedData(/* 데이터 초기화 */)
binding.sharedData = sharedData
수신 측 액티비티에서는 다음과 같이 받아와서 사용할 수 있습니다.
val binding: YourActivityBinding = DataBindingUtil.setContentView(this, R.layout.your_activity)
val receivedData = binding.sharedData // 수신 측에서 송신 측의 데이터를 사용
이렇게 데이터바인딩을 활용하여 액티비티 간에 데이터를 공유할 수 있습니다.
데이터바인딩을 이용하면 액티비티 간에 데이터를 전달하는 과정을 보다 간편하게 처리할 수 있습니다. Kotlin과 데이터바인딩을 함께 활용하면 더욱 편리하고 구조적으로 가독성이 좋은 코드를 작성할 수 있습니다.
이상으로 데이터바인딩을 통한 액티비티 간 데이터 공유에 대해 알아보았습니다.
참고 문헌: