[android] 데이터 바인딩을 사용한 이미지뷰 바인딩

안드로이드 앱을 개발하다 보면 UI와 데이터를 연결하는 데에 많은 번거로움을 겪을 수 있습니다. 데이터 바인딩을 사용하면 XML 레이아웃 파일과 데이터 소스를 쉽게 연결하여 이를 해결할 수 있습니다.

이번 포스트에서는 데이터 바인딩을 이용한 이미지뷰 바인딩에 대해 다루고자 합니다.

데이터 바인딩이란?

데이터 바인딩은 안드로이드에서 제공하는 기능으로, UI 컴포넌트와 데이터를 손쉽게 연결할 수 있도록 도와줍니다. XML 레이아웃 파일에서 직접 데이터를 바인딩하여 반복적인 findViewById() 호출이나 데이터 업데이트 로직을 간소화할 수 있습니다.

이미지뷰 바인딩 설정하기

  1. 데이터 바인딩 활성화하기: build.gradle 파일에 dataBinding { enabled = true } 를 추가하여 데이터 바인딩을 활성화합니다.

     android {
         ...
         buildFeatures {
             dataBinding true
         }
     }
    
  2. 레이아웃 파일에서 데이터 바인딩 설정하기: 이미지뷰와 데이터 소스를 바인딩하려는 XML 레이아웃 파일에 **** 태그를 추가하고, 바인딩할 데이터 클래스를 정의합니다.

     <layout xmlns:android="http://schemas.android.com/apk/res/android">
         <data>
             <variable
                 name="imageUrl"
                 type="String" />
         </data>
    
         <ImageView
             android:layout_width="wrap_content"
             android:layout_height="wrap_content"
             android:src="@{imageUrl}" />
     </layout>
    
  3. 데이터 소스와 데이터 바인딩하기: 데이터 바인딩 클래스를 생성하고, 이미지뷰에 바인딩할 데이터를 설정합니다.

     ActivityMainBinding binding = DataBindingUtil.setContentView(this, R.layout.activity_main);
     binding.setImageUrl("https://example.com/image1.jpg");
    

결론

이렇게 데이터 바인딩을 사용하여 이미지뷰를 간편하게 설정할 수 있습니다. 데이터 바인딩을 이용하면 UI 업데이트 로직을 간소화하고 코드를 더 깔끔하게 작성할 수 있습니다.

더 많은 안드로이드 데이터 바인딩 기능에 대해 알고 싶으시면 공식 문서를 참고해보세요.