• 1나루토매니아
  • 2뱅이
  • 3푸타코타
  • 4완벽그자체
  • 5해삼
  • 1뱅이
  • 2나루토매니아
  • 3알짜배기
  • 4뱅이
  • 5빙그레우유
레알 Hello~Android 출력해볼까요?
연속출석 :
1일 랭킹 : 6,397위 상사3
90%
90% (434 /480)
  • 댓글 8 |
  • 추천 9 |
  • 조회 3114 |
  • 2011-05-12 (목) 22:12
    저번 시간에는 기본 어플이 생성되면서 자기 맘대로 우리가 원치 않은 글을 출력해버렸었습니다.
    이번엔 그걸 고쳐서 우리가 원하는 어플을 만들어봅시다.
    일단 자바를 하신분들께 말을 하자면 여기는 지금까지 우리가 알던(자바에서..) 소스로만 이루어 지는게 아니고 XML이라는 개념이 추가됩니다. 안드로이드도 자바처럼 소스에 바로 텍스트를 출력하게 해도 되지만 확장성(언어등.)문제도 있고 안정성의 문제도 있기에 xml로 분리해서 쓰는걸 추천합니다. 자 그럼 시작해볼까요?
    일단 package Explorer부터 살펴 볼까요?

    뭔가 모를 파일들이 잔득있습니다. 자바를 하신분들은 res나 src가 뭐하는건지 아시겠지만요..^^
    src는 프로그래밍을 할때 필요한 자바 소스파을 모아준곳입니다..현재는 자동으로 생성된 HelloActivity.java밖에 없네요.
    프로그램은 실행이 될려면 주 포인트가 있어야 되는데 자바나 씨언어로 말하자면 main()메서드를 말하는 것입니다.
    helloActivity.java를 더블클릭하면

    이 화면이 뜨는데요. 여기서 보면 main()이 보이질 않습니다. 근데 분명히 전 시간에 우리는 기본적으로 만들어진 어플을 실행을 했었고 제대로 텍스트도 떴습니다. 안드로이드는 자바와 달리 개발자가 따로 main()메서드를 구현하지 않고 포인트 역할을 하는 액티비티 클래스를 지정한 후에 안드로이드 애플리케이션을 실행할 때 지정된 액티비티 클래스를 실행하는 방식으로 구동됩니다. 물론 main()메서드를 우리가 구현을 안할 뿐이지 어딘가 숨어 있답니다.
    위의 소스가 바로 하나의 윈도우가 되는건 아니고 위에서 보시면
    setContentView(R.layout.main);
    이 메서드를 호출해서 하나의 뷰 액티비티를 메인 뷰로 설정을 해주게 됩니다.
    위 소스에서 setContentView(R.layout.main); 이 부분을 삭제하고 실행하면 제목만 뜨고 내용 텍스트는 뜨지 않을것입니다.
    다시 패키지 익스플러러에서 gen디렉토리에 R.java파일을 보겠습니다.

    이 파일은 애플리케이션의 리소스 아이디를 저장해 주는 소스 파일입니다. res폴어안의 리소스를 우리가 사용할수 있도록 아이디 값을 저장하는 역할을 합니다. 이건 우리가 따로 만들어 주는것이 아니며 SDK에 의해 자동으로 레이아웃 관련 XML파일이 수정되면 생성이 됩니다.
    asset은 이건 기본으로 포함시킬 파일을 넣어두는 곳인데요. 지금은 넘어가겠습니다.
    res는 레이아웃 리소스,즉 우리가 프로그램에서 쓸 이미지,문자열 등 소스외의 모든걸 넣어두는 곳입니다.
    기본적으로 res밑에 5가지의 폴더가 만들어 지는데요. drawable로 시작하는 폴더는 기본 아이콘 파일들입니다. 해상도별로해서 3가지가 있구요. 우리가 지금 건드릴것은 layout,values폴더안의 main.xml과 string.xml입니다..^^
    main.xml은 GUI구성요소 배치 정보가 들어가서 string.xml은 문자열 정보가 들어갑니다.

     layout폴더 위에서 오른쪽 클릭을 한다음에 new->other을 클릭해주세요.

    android XML File을 선택하고 Next를 눌러주세요.

    File에 app_setting.xml을 입력하고 리소스 타입은 Layout으로 선택하고 Finish를 누르면 res/layout에 파일이 생성됩니다.
    그리고 자동으로 R.java파일에 리소스 아이디가 할당됩니다.
    처음과 비교해서 빨간색줄 위의 한줄이 추가된걸 알수 있습니다.
    이처럼 아까도 말했지만 R.java는 자동으로 추가해서 생성됩니다.
    자 이제 문자열을 건드려 볼까요?
    이제 values폴더안의 string.xml을 더블클릭해봅시다.
     

     
    위와 같은 화면이 뜹니다. 우리가 띄울 내용(hello)와 어플이름(app_name)을 설정할수 있습니다.
    hello를 클릭하면 다음과 같은 화면이 나옵니다.
     

    문자열을 고칠수 있습니다.
     

    이렇게 고치고 RUN(화살표 아시죠?)을 해주시면
     

     
    우리가 처음에 띄울려고 했던 Hello,Android^^가 떴습니다..
    설정창이 아닌 좀더 세밀히 작업 하고 싶을때는 xml파일을 바로 수정해주시면 됩니다.
    혹시 여담이지만 어플 한글화를 해 보신분은 apktool을 이용해서 압축을 풀고 xml파일을 메모장으로 불러서 수정해보셨을겁니다.바로 그게 자바 없이 수정할수 있는 방법이지요..^^그냥 여담입니다~
    밑의 xml탭으로 가볼까요?
     

     

     
    위에서 줄 그어진 부분의 첫번째가 어플에 뜰 내용이 들어갈 곳이고 그 밑은 어플이름을 쓸곳입니다.
    이번엔 한글로 써볼까요?
    태그도 쓸수 있습니다.<b></b>는 굵게,<i></i>는 이탤릭체,<u></u>는 밑줄입니다..^^
     

    이렇게 해주시고 실행을 해보시면....
     

     
    수고하셨습니다. 한주뒤에 다시 돌아 오겠습니다~~^^
    여유 되시는분들은 책사셔서 혼자서 공부좀 해보세요~프로그래밍은 많이 할수록 실력이 늘어납니다~^^

     


    [이 게시물은 더어플님에 의해 2016-07-12 15:23:56 개발 꿀팁에서 복사 됨]
    아싸리오 2011-09-18 (일) 17:21:31
    역시 점전더 기대됩니다. 감사합니다.
    아자가자고 2011-08-04 (목) 11:06:47
    오우 ~ 신비한 안드로이드 프로그래밍
    굿쏘 2011-05-14 (토) 23:30:05
    이제 재밌어 지는군요^^ 강좌 고맙습니다.
         
         
    레오쏭 2011-05-15 (일) 00:07:48
    네네~^^저도 기쁩니다~
    연각 2011-05-13 (금) 09:25:06
    흠흠.. 조금씩 머리 복잡해지네요..
    정말 수고 많으시네요 ㄳㄳ
         
         
    레오쏭 2011-05-13 (금) 12:21:52
    별말씀을요~~^^화이팅입니다.
    믿어라 2011-05-12 (목) 23:48:25
    감사합니다. 스크랩해 가요~*^.^*
         
         
    레오쏭 2011-05-13 (금) 12:21:36
    네네~^^
    댓글을 작성하시려면 로그인을 하셔야지만 작성가능합니다. [로그인하기] [회원가입하기]
    번호 제목 글쓴이 추천 조회 작성일
    17 권한?!-4.너에게 권한을 주마! +15 레오쏭 6 3040 11/06/28
    16 인텐트에 대한 간단한 보충~ +1 레오쏭 5 2091 11/06/28
    15 액티비티?!-3.집으로 전화거는어플을 만들어볼까요? +4 레오쏭 4 2722 11/06/22
    14 액티비티?!-2.버튼에 생명을 불어넣자! +12 레오쏭 6 7215 11/05/28
    13 액티비티?!-1.버튼,액티비티추가하기 +8 레오쏭 7 3760 11/05/22
    12 (디버그를 도와줘~)로그캣!!!! +6 레오쏭 5 6550 11/05/19
    11 업로드 지연 공지~ +11 레오쏭 4 2145 11/05/16
    10 [펌]안드로이드의 역사 +14 레오쏭 6 4376 11/05/14
    9 레알 Hello~Android 출력해볼까요? +8 레오쏭 9 3117 11/05/12
    8 Hello~Android 출력해볼까요? +13 레오쏭 9 3362 11/05/08
    7 에뮬레이터가 아닌 자신의 폰으로 바로바로 확인해보자~! +12 레오쏭 9 6973 11/05/06
    6 어플개발을 위한 무기들을 준비해보자!-4.이클립스 +24 레오쏭 13 4292 11/05/05
    5 어플개발을 위한 무기들을 준비해보자!-3.에뮬레이터 +21 레오쏭 14 3916 11/05/04
    4 어플개발을 위한 무기들을 준비해보자!-2.SDK +21 레오쏭 20 4008 11/05/04
    3 안드로이드라는 전쟁에 나가기 위한 준비를 해보자!-1.J… +32 레오쏭 20 4515 11/05/04
    2 일단 안드로이드가 뭔지부터 알고 넘어갈까요? +48 레오쏭 30 4524 11/05/03
    1 안녕하세요?뉴페이스 레오입니다~^^ +14 레오쏭 10 2957 11/05/03