• 1나루토매니아
  • 2뱅이
  • 3푸타코타
  • 4완벽그자체
  • 5해삼
  • 1뱅이
  • 2나루토매니아
  • 3알짜배기
  • 4뱅이
  • 5빙그레우유
인터페이스??
연속출석 :
1일 랭킹 : 6,397위 상사3
90%
90% (434 /480)
  • 댓글 2 |
  • 추천 5 |
  • 조회 2509 |
  • 2011-07-03 (일) 11:51
    이번시간은 인터페이스에 대한 전반적인 이해와 레이아웃의 종류를 알아보는 시간을 가져 보도록 하겠습니다.
    안드로이드는 상속구조가 잘 되어있습니다. 모든 안드로이드의 상위클래스에는 android.view.View가 있습니다.
    우리가 눈에 보이고 터치하는 버튼이나 화면은 모두 View클래스에 상속되었다고 봐도 되죠.
    버튼이나 글 등은 컨테이너에 담아 액티비티에 던달됩니다. 이런 컨테이너를 레이아웃이라고 합니다.
    앞에서 말했듯이 모든 클래스가 android.view.View를 상위클래스로서 상속을 하고 있다고 하였는데 레이아웃은 직접 상속하고 있는 것이 아니고 android.view.View를 상속한 ViewGroup클래스를 상속하여 구현되었습니다.
    이런 컨테이너들로 하여금 우리는 좀 더 많고 다양한 위젯을 화면에 담을수 있습니다. 컨테이너가 없이 프로그램을 작성한다면 우리는 한 화면에 한가지의 위젯밖에 담을수 없습니다. 컨테이너가 있음으로 인해 우리는 트리구조의 다양한 위젯들을 만들수 있습니다.

    보시면 ViewGroup는 레이아웃이며 View는 위젯입니다. 우리는 앞서 해봤지만 setContentView를 이용할 것입니다. 그리고 레이아웃은 하위 위젯이나 레이아웃을 포함하고 있습니다.
    즉 우리가 인터페이스를 구현하기에 앞서 어떠한 계층구조로 구현할지 생각을 해야 합니다.
    안드로이드에서는 기본적으로 이런 계층구조를 분석하기 쉽도록 Hierarchy Viewer이라는 툴을 제공합니다. 이 툴에 대해선 나중 시간에 알아보도록 하겠습니다.
    레이아웃의 종류에 대해 알아 보도록 하겠습니다.
    레이아웃은 5가지가 있으며 각각은 특징이 있습니다.
    LinearLayout : 프로젝트 생성시 기본으로 설정된 레이아웃으로 위아래 좌우로 직석형태의 배치형태를 하고 있습니다.
    RelativeLayout: 특정 객체를 기준으로 다른 객체의 위치를 결정합니다.
    TableLayout: HTML의 <Table>태그와 비슷합니다.
    FrameLayout: 가장 기본적 레이아웃이며 한번에 하나의 위젯만 출력할수 있습니다. 단독으로는 거의 쓰이지 않으며 여러 레이아웃과 조합해서 씁니다.
    AbsoluteLayout: x,y좌표로 위젯의 위치를 정합니다. 그래서 사용하기가 쉽지만 핸드폰마다 해상도가 다르고 지원하는 액정의 사이즈가 다르므로 핸드폰에 따라 프로그램이 엉망이 될수 있습니다. 그래서 구글에서도 공식적으로 사용을 하지말아달라고 권고하고 있습니다. (FrameLayout과 RelativeLayout을 혼용하면 대체 가능하다고 팁을 주고 있습니다.)
    오늘은 인터페이스에 대한 내용과 레이아웃의 종류에 대해 배워봤습니다. 다음시간부터는 위젯들을 하나씩 배울것이며 마지막에는 배운 위젯들을 레이아웃에 배치하는것에 대해 배울것입니다..^^
    오늘도 수고 하셨습니다~


    [이 게시물은 더어플님에 의해 2016-07-12 15:23:56 개발 꿀팁에서 복사 됨]
    ♣서로해♣ 2011-07-04 (월) 17:20:51
    휴...전과목도 이해가 안가는데.
    바쁘당 바뻐....ㅎㅎ
         
         
    레오쏭 2011-07-05 (화) 11:08:30
    서로해님 덕분해 할맛이 납니다~^^
    댓글을 작성하시려면 로그인을 하셔야지만 작성가능합니다. [로그인하기] [회원가입하기]
    공지글 이거슨 꿀팁!! 작성 가이드 v1.1 (2013-11-13) +174 더어플 13/03/12 138478
    일단 안드로이드가 뭔지부터 알고 넘어갈까요?
    일단 안드로이드가 뭔지부터 알고 넘어갈까요? (48)
    13년전
    h.4562
    v.30
    레오쏭
    안드로이드라는 전쟁에 나가기 위한 준비를 해보자!-1.JDK
    안드로이드라는 전쟁에 나가기 위한 준비를 해보자!-1.J… (32)
    13년전
    h.4556
    v.20
    레오쏭
    어플개발을 위한 무기들을 준비해보자!-2.SDK
    어플개발을 위한 무기들을 준비해보자!-2.SDK (21)
    13년전
    h.4036
    v.20
    레오쏭
    [C언어]강좌3. 내용을 출력해보자.
    [C언어]강좌3. 내용을 출력해보자. (21)
    12년전
    h.2729
    v.14
    퉁퉁이
    어플개발을 위한 무기들을 준비해보자!-3.에뮬레이터
    어플개발을 위한 무기들을 준비해보자!-3.에뮬레이터 (21)
    13년전
    h.3952
    v.14
    레오쏭
    어플개발을 위한 무기들을 준비해보자!-4.이클립스
    어플개발을 위한 무기들을 준비해보자!-4.이클립스 (24)
    13년전
    h.4335
    v.13
    레오쏭
    안녕하세요?뉴페이스 레오입니다~^^
    안녕하세요?뉴페이스 레오입니다~^^ (14)
    13년전
    h.2994
    v.10
    레오쏭
    에뮬레이터가 아닌 자신의 폰으로 바로바로 확인해보자~!
    에뮬레이터가 아닌 자신의 폰으로 바로바로 확인해보자~! (12)
    13년전
    h.7002
    v.9
    레오쏭
    Hello~Android 출력해볼까요?
    Hello~Android 출력해볼까요? (13)
    13년전
    h.3389
    v.9
    레오쏭
    레알 Hello~Android 출력해볼까요?
    레알 Hello~Android 출력해볼까요? (8)
    13년전
    h.3156
    v.9
    레오쏭
    인터페이스?!-키보드로 타이핑을 해볼까?
    인터페이스?!-키보드로 타이핑을 해볼까? (8)
    12년전
    h.5945
    v.8
    레오쏭
    액티비티?!-1.버튼,액티비티추가하기
    액티비티?!-1.버튼,액티비티추가하기 (8)
    13년전
    h.3802
    v.7
    레오쏭
    액티비티?!-2.버튼에 생명을 불어넣자!
    액티비티?!-2.버튼에 생명을 불어넣자! (12)
    13년전
    h.7251
    v.6
    레오쏭
    권한?!-4.너에게 권한을 주마!
    권한?!-4.너에게 권한을 주마! (15)
    12년전
    h.3083
    v.6
    레오쏭
    자바강좌 예제.1 글자를 넣어보자
    자바강좌 예제.1 글자를 넣어보자 (6)
    12년전
    h.2115
    v.6
    ★CsJ★
    [펌]안드로이드의 역사
    [펌]안드로이드의 역사 (14)
    13년전
    h.4417
    v.6
    레오쏭
    [펌-초보금지]RAM최적화/LED밝기/내외장SD카드/ 스크립트 설정하기
    [펌-초보금지]RAM최적화/LED밝기/내외장SD카드/ 스크립… (9)
    12년전
    h.4812
    v.5
    레오쏭
    (디버그를 도와줘~)로그캣!!!!
    (디버그를 도와줘~)로그캣!!!! (6)
    13년전
    h.6593
    v.5
    레오쏭
    [C언어]강좌1. C언어를 배우기위해
    [C언어]강좌1. C언어를 배우기위해 (1)
    12년전
    h.3365
    v.5
    퉁퉁이
    인텐트에 대한 간단한 보충~
    인텐트에 대한 간단한 보충~ (1)
    12년전
    h.2109
    v.5
    레오쏭
    인터페이스??
    인터페이스?? (2)
    12년전
    h.2513
    v.5
    레오쏭
    업로드 지연 공지~
    업로드 지연 공지~ (11)
    13년전
    h.2178
    v.4
    레오쏭
    액티비티?!-3.집으로 전화거는어플을 만들어볼까요?
    액티비티?!-3.집으로 전화거는어플을 만들어볼까요? (4)
    12년전
    h.2758
    v.4
    레오쏭
    안드로이드 프로그래밍 Tip
    안드로이드 프로그래밍 Tip (3)
    12년전
    h.3677
    v.4
    지워니
    버튼?!텍스트뷰?!
    버튼?!텍스트뷰?! (4)
    12년전
    h.2233
    v.4
    레오쏭
    인터페이스?!-레이아웃
    인터페이스?!-레이아웃 (1)
    12년전
    h.2693
    v.4
    레오쏭
    버튼?!-라디오,체크,토글버튼
    버튼?!-라디오,체크,토글버튼
    12년전
    h.3645
    v.4
    레오쏭
    [이벤트] 프로그램강좌 포럼의 활성화를 위하여...
    [이벤트] 프로그램강좌 포럼의 활성화를 위하여... (4)
    12년전
    h.1627
    v.4
    쨩쵸딩