안드로이드에서는 액티비티(Activity)로 하나의 화면을 만든다. 그리고 액티비티 안에 들어가는 각각의 구성 요소는 뷰(View)를 만들어 추가한다.
액티비티 안에 뷰를 배치하는 것을 레이아웃이라고 한다.
Ctrl
+ Tap
: 스위처 기능
열려있는 파일이나, 창들을 빠르게 이동할 수 있다.
Ctrl
+ Q
: 클래스에 커서를 올리고, Ctrl
+ Q
를 누르면 API문서가 표시된다.
Ctrl
+ P
: 파라미터가 어떤 것들이 있는지 보여줌
마우스 우클릭/Generate...
: 상속받은 클래스의 오버라이딩
Ctrl
+ Shift
+ F
: 파일 내 검색
File/Sync Project with Gradle Files : 코드를 수정했는데 빨간 줄이 안없어질 때
뷰(View)는 사용자의 눈에 보이는 화면의 구성요소라고 할 수 있다. 이러한 뷰가 여러개 그룹지어 있는 것이, 뷰그룹(ViewGroup)이다.
뷰그룹은 뷰그룹안에 뷰그룹을 넣는 것과 같이 뷰처럼 사용할 수 있다.
뷰그룹은 뷰를 상속하여 만들어졌기 때문이다. 뷰의 속성을 모두 물려받았다.
뷰와 뷰그룹의 관계는 컴포지트 패턴(Composite Pattern)이라는 디자인 패턴을 사용한 것이다.
뷰그룹이 뷰를 상속하면 뷰그룹도 뷰가 되므로, 뷰그룹 안에 다른 뷰그룹을 가질 수 있다. 이러한 관계는 안드로이드의 UI를 자연스럽게 구성할 수 있게 한다.
이 외에도 뷰는 다른 뷰의 속성을 상속하여 상속받은 뷰의 특성을 가질 수도 있다. 예를들어 버튼은 텍스트뷰를 상속해서 만들어졌기 때문에 텍스트뷰의 속성을 그대로 가지고 있다.
안드로이드는 화면을 구성하는 뷰와 뷰그룹의 역할을 구분하기 위해 뷰의 종류에 따라 다른 이름으로 부르기도 한다.
뷰 중에서 일반적인 컨트롤의 역할을 하는 것을 위젯(Widget)이라고 한다.
뷰그룹 중에서 내부에 뷰를 포함하고 있으면서 그것들을 배치하는 역할을 하는 것을 레이아웃(Layout)이라고 부른다.