안드로이드에서 화면을 만들어 표시하는 컴포넌트는 액티비티이며 액티비티가 실행되면서 뷰 클라스를 이용해 화면을 구성한다.

TextView, ImageView, EditText, Button, Spinner, ListView 등 많은 뷰 클래스가 있다

액티비티 화면을 구성할 때 사용하는 클래스는 모두 View의 하위 클래스다.

뷰 클래스는 다음과 같은 구조를 그린다

뷰 바인딩

레이아웃 XML 파일애 선언한 뷰 객체를 쉽게 이용하는 방법이다

매번 findViewById 함수로 얻어서 사용하기 번거로워서 만들어졌다

gradle의 buildFeatures.viewBinding을 true로 설정하면 레이아웃 파일의 UI컴포넌트들의 id를 camel case로 자동으로 만들어준다

val binding = ActivityMainBinding.inflate(layoutInflater)
setContentView(binding.root)

이렇게 선언하면 binding 변수를 통해 접근할 수 있다

레이아웃 종류