[Android] 안드로이드 뷰 바인딩, findViewById

반응형

안드로이드 뷰 바인딩

 

이전 버전의 안드로이드 스튜디오에서는 코드에서 레이아웃 뷰를 사용하기 위해 findViewById() 함수 또는 코틀린 확장 플러그인을 사용했었습니다. 하지만 더 이상 추천하는 방법이 아니고 이제는 뷰 바인딩을 사용해서 레이아웃을 관리하는 형태로 변경되었습니다. 한 번 바인딩하게 되면 편리하고 다양하게 사용이 가능하니 뷰 바인딩을 사용하는 법과 findViewById 와 비교해서 무엇이 달라졌는지 확인해보겠습니다.

 

▼ 안드로이드 뷰 바인딩은 Android Studio 3.6 Canary 11 이상에서 동작합니다. 안드로이드 스튜디오 3.5 이전에는 뷰 바인딩을 사용할 수 없었고 아래와 같이 findViewById를 통해 컴포넌트들을 로드해서 사용했습니다.

 

 

 

뷰 바인딩 추가하기

 

build.gradle 파일 수정

▼ 뷰 바인딩을 사용하기 위해서는 우선 모듈 build.gradle 파일을 다음과 같이 수정해야 합니다. anroid 블록에 다음 코드를 추가합니다.  (안드로이드 스튜디오 4.0 이상) 변경이 다 되었으면 편집기 창의 오른쪽 위에 있는 Sync Now를 눌러 그래들 빌드의 변경 사항을 프로젝트에 적용합니다.

 

 

 

▼ 뷰 바인딩을 위해서 ActivityMainBinding 이라는 타입의 변수를 선언하고 inflate 함수를 통해서 초기화 해줍니다. setContentView의 인자에도 변화가 있는데요. 기존에는 R.layout.activity_main 이라고 선언했던 부분을 binding.root로 초기화 해줍니다.

 

 

▼ 뷰 바인딩 클래스 규칙은 다음과 같습니다.

레이아웃 XML 명칭 클래스명
activity_main.xml ActivityMainBinding
my_view.xml MyViewBinding

 

만약 위의 바인딩 과정을 진행했다면 이제 부터 xml에서 정의하는 id를 binding 변수를 통해 직접 접근이 가능합니다.

 

 

반응형

댓글

Designed by JB FACTORY