[Android] 데이터바인딩 사용하기(+추가)

berry·2021년 11월 13일
0

안드로이드

목록 보기
4/22

데이터바인딩이란?

출처: 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로 바로 컴포넌트 접근 가능😊


데이터 바인딩과 비슷하지만 훨씬 간편한 방법!

Module(app)수준의 gradle 파일의 plugins에

id 'kotlin-android-extensions'

이 코드만 추가해주면 id로 컴포넌트에 바로 접근가능하다.

profile
공부 내용 기록

0개의 댓글

관련 채용 정보