• 1나루토매니아
  • 2뱅이
  • 3푸타코타
  • 4완벽그자체
  • 5해삼
  • 1뱅이
  • 2나루토매니아
  • 3알짜배기
  • 4뱅이
  • 5빙그레우유
안드로이드 강좌 2 - 이클립스 개발환경 사용법 및 프로젝트 생성
연속출석 :
1일 랭킹 : 399위 중장7
45%
45% (1541 /3455)
  • 댓글 0 |
  • 추천 1 |
  • 조회 3986 |
  • 2012-08-09 (목) 16:29
    본격적인 개발에 들어가기 앞서 안드로이드 개발에 필요한 기본적인 이클립스 사용법과 안드로이드의 프로젝트 구성에 대하여 알아보겠습니다. 기존에 자바로 개발을 하셨던 분이라면 이클립스에 익숙하신 분도 계시겠지만 처음 자바와 안드로이드를 접하시는 분이라면 이클립스가 낯설 게 느껴지실 것이니 개발환경도 같이 살펴보고 가도록 하겠습니다. (Eclipse 3.4 버전을 기준으로 작성되었습니다. 이클립스를 사용하는 더 좋은 방법들이 있다면 댓글로 공유해주시면 감사하겠습니다.)

    안드로이드 강좌 2 - 이클립스 개발환경 사용법 및 프로젝트 생성_?xml_:namespace prefix = o />

    프로젝트 생성
    이클립스 메뉴에서 File / New /Project 선택
    Android / Android Project 선택 후 Next
    다음과 같은 창이 뜹니다.

    (
    그림 2-1)

    Project Name :
    이클립스에서 프로젝트를 구분해주기 위한 이름
    Package Name : 자바 패키지 지정
    Activity Name : 기본으로 생성되는 Activity 클래스에 사용될 이름
    Application Name : 단말에서 어플리케이션에 사용되는 이름

    다음과 같이 입력해보도록 하겠습니다.
    MobilePlace Lecture
    kr.mobileplace.lecture
    Main
    MobilePlace
    액티비티(Activity)? 안드로이드 어플리케이션의 기본 단위. 보통 사용자가 현재 보고 있는 전체 화면이라고 생각하면 됩니다. 화면의 구성 정보를 가지고 있고 사용자의 입력을 받아서 처리하는 역할을 합니다.

    프로젝트 패키지
    기본으로 생성되는 프로젝트 패키지를 펼쳐 보면 다음과 같습니다.


    (
    그림 2-2)

    src : 자바 소스가 위치합니다.
    Main.java : 기본으로 지정해주었던 Activity 클래스
    R.java : 리소스 파일에서 생성되는 클래스로 항상 자동으로 생성되며 직접 수정을 해서는 안됩니다.
    res : 어플리케이션에서 필요한 그림, 멀티미디어, 레이아웃, 문자열 등 다양한 리소스 관리
    drawable : 어플리케이션 내에서 사용될 그림 파일들
    layout : Activity의 화면 구성 정보를 담고 있는 xml파일들
    values : 문자열, 배열, , 스타일등 다양한 부가 정보들.
    Android Library : 안드로이드 SDK 사용을 위해 포함된 라이브러리

    AndroidManifest.xml :
    어플리케이션과 구성과 관련된 모든 정보를 담고 있는 파일. 어플리케이션 작성에서 가장 중요한 역할을 하는 파일입니다. 어플리케이션과 Activity의 다양한 설정, 사용권한, 연관된 라이브러리 등 다양한 정보를 포함합니다.

    액티비티 생성
    새로운 Activity를 직접 작성해보면서 이클립스의 기능을 살펴보도록 하겠습니다.

    클래스 생성
    먼저 왼쪽 프로젝트 패키지 화면에서 src/kr.mobileplace.lecture 라는 패키지 위에서 마우스 오른쪽 버튼을 클릭합니다. New를 선택하고 Class를 선택합니다.


    (
    그림 2-3)

    새로운 클래스를 생성하는 다이얼로그가 나타납니다. 먼저 Name부분에 새로 작성할 Activity의 클래스 명을 적습니다. MyActivity라고 적고 그 아래 상속할 Superclass의 이름을 적어줍니다. Activity 클래스를 상속할 것이기 때문에 Activity를 적고 오른쪽에 Browse버튼을 클릭합니다.


    (
    그림 2-4)

    그러면 Activity라는 단어를 포함한 모든 클래스가 나열됩니다. Superclass로 사용할 Classandroid.app.Activity를 선택하고 OK를 클릭합니다.


    (
    그림 2-5)

    이제 다시 (그림 2-4) New Java Class화면에서 Finish를 클릭하면 프로젝트 소스에 새로운 클래스에 대한 파일이 생성된 것을 확인할 수 있습니다.

    레이아웃 XML 생성
    이번에는 액티비티의 화면 구성에 사용되는 레이아웃 파일을 만들어 보겠습니다. res/layout 폴더위에서 오른쪽 마우스 버튼을 클릭한 후 New 에서 File을 선택합니다. 파일이름을 myactivity.xml이라고 설정한 후 OK를 누릅니다. res 밑에 들어가는 파일들은 항상 소문자, 숫자, _ 만으로 구성되어야 하니 유의하시기 바랍니다!

    (
    그림 2-6)

    아직 xml파일의 내용을 작성하지 않아서 빨간 X표시가 붙어있을 것입니다. myactivity.xml을 더블 클릭한 후 myactivity.xml이 에디터 창에 열립니다. 그런 후 에디터 아래쪽에 있는 Layout | myactivity.xml 탭에서 myactivity.xml을 선택하면 xml을 내용을 에디트 할 수 있는 화면이 열립니다.

    (
    그림 2-7)

    일단 레이아웃 파일의 자세한 작성법은 나중에 다루기로 하고 main.xml에 있는 내용을 그대로 복사 넣고 android:text=”” 부분을 사용자 마음대로 수정해 봅니다.

    (
    그림 2-8)

    AndroidManifest 수정
    새로운 Activity를 생성하면 항상 AndroidManifest에다가 관련 정보를 등록해야 합니다. AndroidManifest에 넣어주어야 단말이 해당 Activity의 존재를 알 수 있습니다. 그렇지 않으면 단말에서 정상적으로 Activity를 생성할 수 없습니다.
    먼저 AndroidManifest.xml을 더블 클릭한 후, 에디터 창의 아래 탭에서 AndroidManifest.xml을 선택합니다. 일단 기존에 생성되어있는 activity 태그 부분을 그대로 복사하여 하나 더 만든 후에 android:name=”” 부분에 새로 생성한 클래스의 이름 “.MyActivity”를 넣습니다. android:label 부분은 titlebar에 출력될 텍스트를 설정하는 부분입니다. 그리고 Main에 있던 category 부분은 일단 제거하고 저장하도록 하겠습니다.

    (
    그림 2-9)

    메서드 오버라이드
    자 이제 필요한 파일들은 모두 생성을 했습니다. 이제 생성된 파일들을 실제 동작할 수 있도록 자바 코드를 작성해 보겠습니다. 다시 MyActivity.java 파일로 돌아갑니다.
    클래스의 { } 사이를 클릭해서 커서를 위치 시킨 후 오른쪽 마우스 버튼을 클립합니다. 그리고 Source Override/Implement Methods를 클릭합니다.

    (
    그림 2-10)

    생성된 다이얼로그 창에서 오버라이드할 메서드인 onCreate(Bundle)을 찾아서 체크한 후에 OK 하면 MyActivity.java에 해당 메서드를 오버라이드한 코드가 자동으로 생성됩니다.

    (
    그림 2-11)

    이제 오버라이드한 onCreate메서드에 아까 만들었던 myactivity.xml 이라는 레이아웃을 이 Activity의 화면 구성에 사용한다는 코드인 setContentView(R.layout.myactivity); 작성하여 넣습니다. 그 다음 디버그 메시지 출력을 위한 코드인 Log.d(“MyTag”, “Print Test Log”);를 작성하여 넣습니다. 그런데 Log라는 클래스명에서 빨간 밑줄이 그어지며 에러표시가 난 것을 확인하실 수 있습니다. 해당 클래스가 현재 파일에 import되어있지 않기 때문에 발생하는 에러입니다. Log 위에서 오른쪽 마우스를 클릭한 후 SourceAdd Import를 클릭합니다. (단축키로 Ctrl+Shift+M도 사용하실 수 있습니다.) Log클래스가 여러 개 있기 때문에 선택을 위한 다이얼로그가 뜹니다. android.util.Log를 선택합니다.

    (
    그림 2-12)

    이제 기본적인 코드 작성이 끝이 났습니다. 새로 작성한 소스를 실행해보는 일이 남았는데요 다음 강좌에서 계속 하도록 하겠습니다.
    http://www.androidpub.com/641/출처


    [이 게시물은 더어플님에 의해 2016-07-12 15:23:56 개발 꿀팁에서 복사 됨]
    댓글을 작성하시려면 로그인을 하셔야지만 작성가능합니다. [로그인하기] [회원가입하기]
    번호 제목 글쓴이 추천 조회 작성일
    160 폰알림음 삭제하여 용량확보 +1 GNCkorea 1 2340 12/08/08
    159 [삼성갤럭시] 갤럭시 노트의 숨겨진 기능 2탄 +2 GNCkorea 1 2735 12/08/13
    158 논란의 뉴아이패드 vs 아이패드2 게임 그래픽 정리 +1 GNCkorea 1 4762 12/08/01
    157 아이폰 키보드에 숨어 있는 몇가지 타이핑 방법들... +1 GNCkorea 1 1538 12/08/13
    156 안드로이드 강좌 5 - XML에서의 TextView, ImageView, L… GNCkorea 1 5105 12/08/09
    155 Bitmap 파일 회전시키기 GNCkorea 1 4018 12/08/10
    154 [SKY] 베가 - 기기정보 +1 GNCkorea 1 2360 12/07/27
    153 옵티머스 LTE2에 들어간 스냅드래곤 S4 성능은? +1 GNCkorea 1 4647 12/07/31
    152 갤럭시S II, 테이크 야누스, 이보 4G+, 아트릭스 - 스마… +1 GNCkorea 1 9447 12/08/01
    151 [갤럭시노트 가이드] 컴퓨터와 연결 하는 법 +2 GNCkorea 1 3421 12/08/13
    150 아이패드에서 쓰기 좋은 가계부 추천드립니다! PC/아이… GNCkorea 1 7450 12/08/01
    149 BItmap size Resizing 시켜주기 GNCkorea 1 3221 12/08/10
    148 사용 편의성과 활용성을 겸비한 옵티머스 UI 3.0 +1 GNCkorea 1 2146 12/07/31
    147 갤럭시S II, 테이크 야누스, 이보 4G+, 아트릭스 - 무선… +2 GNCkorea 1 6436 12/08/01
    146 넥서스7 루팅방법 (따라하기) +1 GNCkorea 1 4084 12/08/09
    145 OS X 10.8 마운틴 라이온을 손쉽게 USB 드라이브 또는 D… +1 GNCkorea 1 5396 12/07/27
    144 포켓PC, 옴니아…영욕의 윈도우폰 +1 GNCkorea 1 3581 12/08/10
    143 갤럭시S2 - 기기정보 +1 GNCkorea 1 2578 12/07/27
    142 갤럭시S3 LTE - 그래픽 및 배터리 시간 테스트 +2 GNCkorea 1 5275 12/07/31
    141 갤럭시S II, 테이크 야누스, 이보 4G+, 아트릭스 - 듀얼… +1 GNCkorea 1 8567 12/08/01
    140 안드로이드 강좌 1 - 어플리케이션 개발 시작하기. SDK … GNCkorea 1 3443 12/08/09
    139 폰의 하드웨어 제어관련 혹은 하드웨어접근관련 앱 제작… GNCkorea 1 5267 12/08/10
    138 옵티머스 LTE2와 스마트TV 연동하기 +1 GNCkorea 1 6594 12/07/29
    137 갤럭시S3 LTE - 동영상 및 전면 카메라 기능 보기 +1 GNCkorea 1 6019 12/07/31
    136 갤럭시S II, 테이크 야누스, 이보 4G+, 아트릭스 - 디스… +1 GNCkorea 1 8724 12/08/01
    135 한 손에 들어오는 5인치 LTE 스마트폰! 스카이 베가 S5 +1 GNCkorea 1 3772 12/08/10
    134 윈도우즈 개발환경 구성 - Eclipse 3.6.1 (Helios), ADT… GNCkorea 1 3633 12/08/09
    133 안드로이드 해상도별 좌표+ 이미지 크기 수정하기(변종… GNCkorea 1 13283 12/08/10