3. View와 ViewGroup
ViewGroup 클래스
"레이아웃(layout)"
하위 클래스의 기반이 됨.
레이아웃을 이용하여
화면 배치를 다양하게 만들 수 있음
View 클래스
"위젯(widget)"
하위 클래스들의 기반이 됨
View 객체
레이아웃 매개변수나
화면의 특정 사각 영역에 대한
정보를 담고 있는 자료 구조.
사용자 인터페이스 객체로서
사용자와 상호작용을 위한 창구
및 이벤트 리스너(listener) 역할을 함.
4. View 계층 구조
액티비티의 화면에
표시하기 위해서는
액티비티에서
setContentView() 메소드를
호출하면서, 뷰 계층 구조의
루트 노드 객체에
대한 참조를 파라미터로
전달하면 된다.
계층구조 최상위에서부터
순서대로 레이아웃 앨리먼트를 분석해서
뷰 들을 인스턴스화 하며,
그것들을 부모에 추가한다.
순서대로 그려지기 때문에 위치가 겹치는 앨리먼트는 마지막에
그려진 것이
이전에 그려진것보다 위에 놓이게 된다.
8. Layout
레이아웃 종류 - LinearLayout
가장 기본적이면서
가장 많이 사용하는 레이아웃.
레이아웃의 요소들을
수직, 수평으로 배치한다.
9. Layout
레이아웃 종류 – RelativeLayout
레이아웃 요소들 간에 위치관계를 부여하고 그 관계에 따라 화면을 구성.
10. Layout
레이아웃 종류 - FrameLayout
가장 단순한 레이아웃
각 요소들을 모두 왼쪽 상단을 기준으로 포개는 방식으로 배치 됨.
두개의 화면을 붙여놓고 필요에 따라 스위칭 할 때 주로 사용(예, Tab)
11. Layout
레이아웃 종류 - TableLayout
일정한 선에 맞추어 정렬되어야 하는 요소를
정렬 할 때 주로 사용
TableLayout이 전체적인 테이블 구조의 모양을 관리하고,
각 행에는 TableRow가 하나씩 들어가며
실제 위젯은 각 행의 TableRow안에 들어감.
20. Rest API
다음과 같이 프로젝트를 구성하였습니다.
AAMainActivity: UI를 구현한 화면 및 기능수행
AARestProtocol: Rest 요청 행동이 정의된 인터페이스
Message: 데이터를 담아 통신하기 위한 객체
(코드는 이곳에서!) https://github.com/JuranoSaurus/RestAPISample
21. Rest API
요청으로 메시지를 보내고, 응답으로 echo
메시지를 받는 서버를 구성하였습니다.
@Background에서 별도의 스레드로
통신을 요청하고, 응답이 올 때까지 해당
스레드를 자동으로 block 합니다.
22. 어디로 어떻게 요청을 보낼 건지는 다음
Interface에 행동을 정의만 해주면 됩니다!
(이렇게 쉬울수가...)