[Android Studio] 데이터바인딩 사용하기

데이터바인딩이란?

출처: https://arvigoes.tistory.com/108

1. findViewById vs 데이터 바인딩

findViewById 함수를 사용하면 실시간으로 모든 리소스 트리 를 뒤져서 해당 데이터를 찾아가야 한다.
➡ 실시간이라면 실행도중에 발생하는 일이라 프로그램의 수행이 느리게 된다 🔽

이런 이유로 데이터 바인딩을 사용하는 것이 좋다.

미리 바인딩 시켜두고 직접 참조 하게 된다면 일일이 찾아서 할 필요가 없으니 검색 오버헤드가 상당히 줄어들게 된다.

대략적인 데이터 바인딩 동작 이미지 🔽

2.데이터바인딩 사용하기

1. build.gradle 파일 수정

모듈(app) 수준 gradle에서 databinding 값을 true로 설정해준다.

 dataBinding{
        enabled = true
    }

2. xml 파일 수정

layout 태그로 전체를 감싸준다.

3. MainActivity 파일 수정

1. binding 변수 선언

private lateinit var binding: ActivityMainBinding

만약 LoginActivity 라면 ~ : ActivityLoginBinding 이라고 써야 된다.

2. 변수 할당

 binding = DataBindingUtil.setContentView(this, R.layout.activity_main)

setContentView(R.layout.activity_main) 코드는 삭제해도 된다.

3. id로 바로 컴포넌트 접근 가능😊

3-1. Fragment의 경우 파일 수정

1. binding 변수 선언

private lateinit var binding: FragmentHomeBinding

2. 변수 할당

 binding = DataBindingUtil.inflate(inflater, R.layout.fragment_home, container, false)

return inflater.inflate(R.layout.fragment_home, container, false) 대신
return binding.root 으로 적어준다.

3. id로 바로 컴포넌트 접근 가능😊

좋은 웹페이지 즐겨찾기