DataBinding 이란?
레이아웃 XML 파일에 선언한 뷰 객체를 코드에서 쉽게 이용하는 방법이다.
findViewById()를 사용하는 번거로운 작업 없이 UI 요소를 초기화하고 업데이트할 수 있다. 즉, 코드가 간결해지고 가독성이 좋아진다.
DataBinding 사용법
1. gradle에 databinding 요소를 추가
android {
...
dataBinding {
enabled = true
}
}
2. XML 코드에서 <layout></layout> 태그를 감싸준다.
<layout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
tools:context=".MainActivity">
<TextView
android:id="@+id/myTextView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="TextView"
android:textSize="18sp"
android:layout_gravity="center"/>
</LinearLayout>
</layout>
3. Activity나 Fragment에서 바인딩을 이용해 접근한다.
import androidx.appcompat.app.AppCompatActivity
import android.os.Bundle
import com.example.myapp.databinding.ActivityMainBinding
class MainActivity : AppCompatActivity() {
private lateinit var binding: ActivityMainBinding // 1
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
binding = ActivityMainBinding.inflate(layoutInflater) // 2
setContentView(binding.root) // 3
binding.myTextView.text = "Hello I am Soojin!" // 3
}
}'🙋♀️ Android' 카테고리의 다른 글
| [Android] Activity에 대해 자세하게 알아보자 (0) | 2024.08.11 |
|---|---|
| [Android] 네이버 지도 API 연동 (0) | 2024.04.24 |
| [Android] h5 딥러닝 모델 tflite로 변환하여 안드로이드에 적용 (0) | 2023.05.26 |
| [Android] Firebase Realtime Database 리스트뷰에 실시간 출력하기 (0) | 2023.05.23 |
| [Android] QR통해 firebase Realtime Database 저장 구현 ,QR_reader기 (0) | 2023.05.08 |