본문 바로가기
안드로이드 스튜디오 앱 개발/개념 안드로이드 스튜디오

[Android Studio] 뷰결합(viewBinding)에 대해 알아보자, 뷰결합 초간단 설정 방법

by 망댕이 2024. 4. 16.
반응형

 

안드로이드 앱 개발에서 ViewBinding은 XML 레이아웃 파일과 JAVA 코드를 연결하는 강력한 도구입니다.

이 기능을 통해 findViewById() 메서드를 사용하지 않고 뷰 요소에 쉽게 액세스할 수 있다는 장점을 가지고 있습니다.

 

이번 포스팅에서는 안드로이드 스튜디오 ViewBinding을 사용하는 방법과 코드 예제를 알아보도록 하겠습니다.

 

ViewBinding??

출처 입력

ViewBinding은 Android Studio 3.6 Canary 11 이상에서부터 사용할 수 있는 개념인데, 이 기능을 활용하여 뷰와 상호작용을 쉽게 할 수 있습니다.

ViewBinding이 findViewById를 대체하기 때문에 레이아웃에 ID가 있는 모든 뷰의 직접 참조가 포함됩니다.

 

쉽게 말하면 findViewById를 이용하여 작성할 경우 뷰가 엄청 많게 되면 코드도 지저분하고 굉장히 길어진다는 단점을 ViewBinding을 이용하여 극복할 수 있다는 것입니다.

 

 

ViewBinding 

ViewBinding 설정하기 위해 우선 안드로이드 스튜디오 프로젝트의 build.gradle 파일에서 아래와 같이 ViewBinding을 활성화합니다.

android {
    ...
    viewBinding {
        enabled = true
    }
}
 

그다음 XML 레이아웃 파일을 하나 생성해 줍니다. 레이아웃 파일 이름이 main_Activity.xml인 경우 생성된 바인딩 클래스 이름은 MAINACTIVITYBINDING이 됩니다. (생성된 바인딩 클래스의 이름은 XML 파일의 이름을 기반으로 합니다)

<LinearLayout ... >
        <TextView android:id="@+id/a" />
        <Button android:id="@+id/b"/>
    </LinearLayout>
 

이렇게 생성된 바인딩 클래스를 가지고 액티비티에 ViewBinding을 사용할 수 있습니다.

private ActivityMainBinding binding;

protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    binding = ActivityMainBinding.inflate(getLayoutInflater());
    setContentView(binding.getRoot());

    // 뷰 요소에 액세스하여 사용합니다.
    binding.a.setText("Hello, ViewBinding!");
    binding.b.setOnClickListener(new View.OnClickListener() {
        ---생략---
    });
}
 

모듈에 ViewBinding을 사용하도록 설정되면 모듈에 포함된 각 XML 레이아웃 파일의 결합 클래스가 생성되고, 모든 결합 클래스에는 상응하는 레이아웃 파일의 루트뷰에 관한 직접 참조를 제공하는 getRoot() 메서드가 포함된다.

 

이렇게 ViewBinding을 이용하면 바인딩 클래스의 이름을 기반으로 뷰 요소에 액세스가 가능해집니다.

XML 파일에 정의된 TextView인 a에 접근하려면 binding.a로 액세스가 가능합니다.

 

추가적으로 궁금한 내용이 있다면 아래 개발자 페이지에서 확인해 보세요!

 

https://developer.android.com/topic/libraries/view-binding?hl=ko

 

 

반응형