본문 바로가기

Interesting IT

안드로이드 스튜디오 데이터바인딩

데이터바인딩 라이브러리란?

 

선언적 형식으로 레이아웃의 UI 구성요소를 앱의 데이터 소스와 결합할 수 있는 지원 라이브러리이다.

 

 

 

라이브러리를 사용하기 위해서는

1. Android 4.0(API레벨 14) 이상을 실행하는 기기

2. Android Plugin for Gradle 1.5.0 이상

두 가지 조건을 만족해야 한다.

 

 

 

 

 

안드로이드 스튜디오로 프로젝트를 실행한다.

 

build.gradle(Module:app)
build.gradle(Module:app) 

해당 프로젝트의 build.gradle(Module:app)에 들어가서 android안에 위 사진과 같이 해당 코드를 작성한다.

작성한 뒤 위에 나타나는 Sync Now 버튼을 눌러 동기화해준다.

 

 

 

 

 

 

activity_main.xml

그 이후 데이터바인딩을 사용하려는 해당 xml 파일의 전체 root 레이아웃을 <layout></layout> 태그로 감싸준다.

 

 

 

 

 

 

MainActivity.java

xml파일에 해당하는 자바파일로 이동하여 데이터바인딩을 선언해준다.

 

클래스이름은 xml파일이름+Binding으로 구성되는데 xml파일 이름은 파스칼표기법 기준으로 변경된다.

 

(파스칼 표기법이란?

첫글자가 대문자이고 띄어쓰기와 _를 기준으로 대문자로 변경하여 표기하는 방법이다.)

 

위 사진과 같이 activity_main.xml 에 해당하는 데이터바인딩 클래스이름은 ActivityMainBinding이 된다.

만약 레이아웃 파일이 activity_menu.xml 이라면 바인딩클래스이름은 ActivityMenuBinding이 된다.

 

 

 

 

onCreate 함수에 들어가서 setContentView를 수정해주면 되는데 클래스를 선언한 객체이름을 사용하여 수정한다.

위 사진에서는 mBinding으로 선언하였기 때문에 

mBinding = DataBindingUtil.setContentView(this, R.layout.activity_main); 으로 수정한다.

 

 

 

 

본격적으로 사용할 때에는 클래스를 선언한 객체와 xml 파일에서 부여한 id를 사용한다.

mBinding으로 클래스를 선언하였고, Button의 id가 button이기 때문에 mBinding.button으로 객체를 사용할 수 있다.