[Android 개념] 안드로이드 뷰 계층 구조(view hierarchy), 빌드 절차

이창민·2022년 7월 20일
0

Android 개념

목록 보기
1/9

레이아웃

  • 앱에서 사용자 인터페이스를 위한 구조를 정의
  • 레이아웃의 모든 요소는 ViewViewGroup 객체의 계층 구조를 사용해 빌드됨

위젯(widget)

  • 사용자가 화면을 보면서 상호작용하는 뷰
  • 화면에 텍스트나 그래픽 등으로 표현되는 것, 버튼과 같이 터치 이벤트를 수행하게 하는 것도 있음
  • 모든 위젯은 View 클래스의 인스턴스이거나 View의 서브 클래스(ex.. TextView, Button)중 하나의 인스턴스

뷰그룹(ViewGroup)

  • View의 일종
  • 다른 뷰를 포함하고 배치해 화면에 보여주지만자신은 화면에 나타나지 않음. 레이아웃도 뷰그롭

뷰 계층 구조(View Hierarchy)

위젯은 View 객체의 계층 구조에 존재한다. 이것을 뷰 계층 구조라고 한다.

위 이미지는 뷰 계층 구조의 예시 이미지이다.
View는 일반적으로 위젯이라고 하고 ViewGroup은 일반적으로 레이아웃이라고 한다.

안드로이드 앱 빌드 절차

빌드

안드로이드 스튜디오는 자동으로 앱을 빌드한다.

  • 빌드를 하는 동안 안드로이드 도구가 리소스, 코드, AndroidManifest.xml 파일을 가지고 하나의 .apk파일을 만든다.
  • 이 파일은 실제 장치나 에뮬레이터에서 실행될 수 있게 디버그 키가 부여된다.

프로젝트 빌드와 관리에 필요한 모든 것을 Gradle 자동화 빌드 도구를 사용해 처리해 신경쓰지 않아도 된다.

layout.xml 파일 변환

레이아웃 파일의 어플리케이션 View 객체로 변환 절차

  • 빌드 절차의 일부로 aapt2(Android Asset Packaging Tool2)가 레이아웃 파일의 리소스들을 좀 더 압축된 형태로 컴파일
  • 컴파일된 리소스들이 .apk 파일로 통합
  • activity에서 setContentView(...)가 호출되면, LayoutInflater클래스를 사용해 레이아웃 파일에서 정의된 각 View 인스턴스를 생성

View 인스턴스는 뷰 계층 구조의 루트 레이아웃부터 순서대로 생성

참고자료

  1. https://developer.android.com/guide/topics/ui/declaring-layout?hl=ko
profile
android 를 공부해보아요

0개의 댓글