"binding"은 안드로이드 데이터 바인딩 라이브러리를 의미합니다. 이 라이브러리를 사용하면 레이아웃 파일(XML)에서 정의한 뷰 요소들과 Kotlin 코드를 연결하여 효율적으로 UI를 조작할 수 있습니다.
데이터 바인딩을 사용하면 findViewById() 메서드를 호출하여 뷰 요소를 찾는 번거로움을 줄일 수 있습니다. 대신 데이터 바인딩 라이브러리를 사용하여 뷰와 Kotlin 코드를 바인딩(binding)하고, 뷰의 속성이나 이벤트를 직접 참조할 수 있게 됩니다.
-chatGPT
binding을 이용하기 위해서는 build.gradle 파일에 다음과 같은 정보를 기입해야한다.
buildFeatures {
viewBinding = true
}
기입하는 장소는 다음과 같다.
plugins {
id 'com.android.application'
id 'org.jetbrains.kotlin.android'
}
android {
namespace 'com.example.kotlin'
compileSdk 33
buildFeatures {
viewBinding = true
}
그 다음 마우스 커서를 buildFeatures에 올리면 build버튼이 나타난다.
전구를 눌러서 build를 해주고 다시 안드로이드 스튜디오를 키면은 ActivityMainBinding이 생성되며 사용할 수 있다.
private lateinit var binding: ActivityMainBinding
class MainActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
binding = ActivityMainBinding.inflate(layoutInflater);
setContentView(binding.root)
binding.textView.text = "useong"
}
class 밖에 위와 같이 ActivityMainBinding을 추가한 후 onCreate()을 다음과 같이 작성하면 된다.
다음과 같이 선언하면 레이아웃을 가져와서 각각의 View들을 인스턴스화 해야하는 번거로움이 줄어든다. binding객체에서 id로 접근하면 해당 id를 가진 view에 손쉽게 접근할 수 있다.