[Android] 안드로이드 뷰 바인딩, findViewById
- 모바일/안드로이드
- 2022. 4. 9.
안드로이드 뷰 바인딩
이전 버전의 안드로이드 스튜디오에서는 코드에서 레이아웃 뷰를 사용하기 위해 findViewById() 함수 또는 코틀린 확장 플러그인을 사용했었습니다. 하지만 더 이상 추천하는 방법이 아니고 이제는 뷰 바인딩을 사용해서 레이아웃을 관리하는 형태로 변경되었습니다. 한 번 바인딩하게 되면 편리하고 다양하게 사용이 가능하니 뷰 바인딩을 사용하는 법과 findViewById 와 비교해서 무엇이 달라졌는지 확인해보겠습니다.
▼ 안드로이드 뷰 바인딩은 Android Studio 3.6 Canary 11 이상에서 동작합니다. 안드로이드 스튜디오 3.5 이전에는 뷰 바인딩을 사용할 수 없었고 아래와 같이 findViewById를 통해 컴포넌트들을 로드해서 사용했습니다.
뷰 바인딩 추가하기
▼ 뷰 바인딩을 사용하기 위해서는 우선 모듈 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 변수를 통해 직접 접근이 가능합니다.
'모바일 > 안드로이드' 카테고리의 다른 글
[Android] 안드로이드 뷰와 뷰 그룹, 레이아웃 종류 (0) | 2022.04.12 |
---|---|
[Android] 안드로이드 앱 우선순위 및 액티비티 생명주기 (0) | 2022.04.11 |
[Android] 안드로이드 앱의 핵심요소 구성 및 정리 (0) | 2022.03.29 |
[Android] Jetpack 네비게이션 컨트롤러 사용하기 (3) (0) | 2021.05.31 |
[Android] Jetpack 네비게이션 컨트롤러 사용하기 (2) (0) | 2021.05.30 |