개발자가 되고 싶은 학생의 정리노트

[Android] Databinding 이용하기 본문

MOBILE/Android

[Android] Databinding 이용하기

ChloeK 2020. 1. 22. 23:42

안드로이드에 유용한

DataBinding 이용하기

 


DataBinding이란?

  1. 데이터 바인딩을 사용하면 findViewById() 작업 없이 자동으로 xml에 만든 View들을 만들어준다.
  2. RecyclerView에서 각각의 item을 set해주는 작업도 xml에서 일련의 작업을 통해 알아서 값이 들어간다.
  3. 값이 바뀌면 알아서 바뀐 값으로 View를 변경하게 할 수도 있고 기타 등등 유용하게 활용 할만한게 많다.
  4. 아래를 실행해보고 소스코드를 보자!

 

1. build.gradle 수정하기

build.gradle (Module: app)

 

dataBinding{

         enabled = true

}

 

*주의할 점 : enabled = true ; ';' 넣지 않기 자바랑 헷갈리지 않을 것! groovy 언어

 

2. xml 수정하기

 

 

xml 에 들어가서 기존 layout 자리에 위에 코드를 입력한다. 대신 속성들은 다른 layout 다시 넣어준다.

 

<layout>

   <data>

      <variable name="activity"

                   type="{packageName}.MainActivity"/>

   </data>

----나머지 내용----

</layout>

 

3. Java 수정하기

*전역변수

ActivityMainBinding binding;

 

*onCreate() 내부

binding = DataBindingUtil.setContentView(this, R.layout.(xml파일 이름, .xml 빼고));

binding.setAcitiviy(this);

 

binding.(위젯 이름) 으로 java 내에서 사용

 

*주의할 점 : setContentView 부분 없애기

 

4. DataBinding 이용하기

*binding.(위젯 이름).~

ex)

   binding.btn.setOnClickListener(new View.OnClickListener() {
           @Override
         public void onClick(View v) {

          Intent intent = new Intent(getApplicationContext(), TestActivity.class);
          startActivity(intent);
         }

    });

 

*xml에 직접함수 정의하기

ex)

-> xml 속성추가

    android:onClick = "@{activity:onButtonEvent(메소드 이름)}"

 

-> Java

public void onButtonEvent(View view){

   Toast.makeText~~~~~~~  내용써주기

}

 

출처 : 

https://takhyeongmin.github.io/2019/01/21/WhatIsDataBinding/

 

데이터 바인딩(Data binding)이란? | 탁형탁의 개발파티

Data Binding 이란 ? 요약 데이터 바인딩을 사용하면 findViewById() 작업 없이 자동으로 xml에 만든 View들을 만들어준다. RecyclerView에서 각각의 item을 set해주는 작업도 xml에서 일련의 작업을 통해 알아서 값이 들어간다. 값이 바뀌면 알아서 바뀐 값으로 View를 변경하게 할 수도 있고 기타 등등 유용하게 활용 할만한게 많다. 샘플 프로젝트 를 실행해보고 소스코드를 보자! 서론 우린 Data Binding을 알

takhyeongmin.github.io