[Android] DataBinding이란?
1. DataBinding이란?
UI 요소와 데이터를 프로그램적 방식으로 연결하지 않고, 선언적 형식으로 결합할 수 있게 도와주는 라이브러리.
프로그래밍적 방식이라 하면 기존에 코드 내에서 UI 요소를 가져와 findViewById 로 데이터와 결합해준 후 데이터를 할당하는 방식이다.
선언적 형식은 코드 내에서 UI 요소를 호출할 필요 없이 레이아웃 파일(xml)에서 직접 할당해주는 방식이다.
그러므로 XML에 있는 view에 findViewById를 하지 않고 자동으로 접근이 가능하다.
2. DataBinding 특징
- data가 바뀌면 자동으로 View를 변경하게 할 수 있음
- xml 리소스만 보고도 view에 어떤 데이터가 들어가는지 파악이 가능
- findViewId()를 호출하지 않아도, 자동으로 xml에 있는 View들을 생성
3. DataBinding 사용법
3-1 build.gradle binding 활성화
⚡이전버전
/*코틀린인 경우 plugin 추가*/
apply plugin: 'kotlin-kapt'
databinding{
enable = ture
}
⚡최신버전
/*코틀린인 경우 plugin 추가*/
plugins {
id 'kotlin-kapt'
}
buildFeatures{
dataBinding = true
}
3-2. xml을 layout 태그로 감싸기
<layout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
xmlns:bind = "http://schemas.android.com/apk/res-auto">
<data>
<variable
name="activity"
type="com.example.jetpackapp.databinding.DataBindingActivity" />
</data>
<androidx.constraintlayout.widget.ConstraintLayout...>
</layout>
3-3. Activity에서 DataBinding 생성
lateinit var binding : ActivityDatabindingBinding
binding = DataBindingUtil.setContentView(this, R.layout.activity_databinding)
3-4. 생성한 databinding으로 findviewid 없이 view 사용
binding.textTest.text = "test"
👉Next
다음 포스트에서는 xml에서 data태그를 사용하여 레이아웃 파일에서 직접 View에 텍스트를 할당하는 실습을 진행할 것 이다.
Author And Source
이 문제에 관하여([Android] DataBinding이란?), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@minnie_dev/Android-DataBinding-이란저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)