• 1나루토매니아
  • 2뱅이
  • 3푸타코타
  • 4완벽그자체
  • 5해삼
  • 1뱅이
  • 2나루토매니아
  • 3알짜배기
  • 4뱅이
  • 5빙그레우유
안드로이드 강좌 2 - 이클립스 개발환경 사용법 및 프로젝트 생성
연속출석 :
1일 랭킹 : 399위 중장7
45%
45% (1541 /3455)
  • 댓글 0 |
  • 추천 1 |
  • 조회 3878 |
  • 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 개발 꿀팁에서 복사 됨]
    댓글을 작성하시려면 로그인을 하셔야지만 작성가능합니다. [로그인하기] [회원가입하기]
    번호 제목 글쓴이 추천 조회 작성일
    73 게임어플 개발자분들을 위한 게임창조오디션 3회 공모 … 카르페의블 0 5746 16/03/02
    72 단말기에 해당 어플이 설치되었는지 확인하는 방법 +2 철권 2 9159 15/11/26
    71 안드로이드 크래쉬 로그를 쉽게 확인하는 방법 +1 철권 2 8752 15/11/26
    70 안드로이드 유용한 라이브러리 모음! +1 철권 2 6708 15/11/06
    69 Android Studio (안드로이드 스튜디오) 단축키 모음! +1 철권 2 8213 15/11/06
    68 안드로이드 기초 프로그램 1개 실습 및 작성 방법의 설명 GNCkorea 1 4218 12/08/10
    67 최고의 웹앱 개발 프레임워크 GNCkorea 1 4407 12/08/10
    66 안드로이드 해상도별 좌표+ 이미지 크기 수정하기(변종… GNCkorea 1 13155 12/08/10
    65 폰의 하드웨어 제어관련 혹은 하드웨어접근관련 앱 제작… GNCkorea 1 5168 12/08/10
    64 Image 파일이 저장되는 리얼경로 알려주기. GNCkorea 0 4646 12/08/10
    63 BItmap size Resizing 시켜주기 GNCkorea 1 3090 12/08/10
    62 Bitmap 파일 회전시키기 GNCkorea 1 3898 12/08/10
    61 launcherShortCut (바로가기 아이콘)입니다. GNCkorea 1 3673 12/08/10
    60 ZXing 바코드 스캔부분 크기 조절하기. GNCkorea 0 5350 12/08/10
    59 ViewPager의 아이템 얻어오기. GNCkorea 1 5067 12/08/10
    58 zxing 가로모드에서 세로모드로 변경하기 GNCkorea 1 12290 12/08/10
    57 안드로이드 개발 시, Selector XML을 편하게 만들어봅시… GNCkorea 1 4924 12/08/10
    56 개인이 앱 판매할 때, 준비해야 할 것들 (사업자 등록 … GNCkorea 1 3726 12/08/10
    55 젤리빈 로그캣 변경점 GNCkorea 1 4224 12/08/10
    54 삼성 AdHub SDK 심각한 버그 있네요. GNCkorea 1 3594 12/08/10
    53 윈도우8과 함께 등장한 윈도우 스토어, 자유와 통제의 … GNCkorea 0 2995 12/08/10
    52 안드로이드 강좌 6 - Java 코드(Code)에서 뷰(View) 다… GNCkorea 0 2868 12/08/09
    51 안드로이드 강좌 5 - XML에서의 TextView, ImageView, L… GNCkorea 1 5000 12/08/09
    50 안드로이드 강좌 4 - 액티비티(Activity), 뷰(View), 레… GNCkorea 1 4924 12/08/09
    49 안드로이드 강좌 3 - 프로젝트 실행과 디버깅 그리고 단… GNCkorea 0 3479 12/08/09
    48 안드로이드 강좌 2 - 이클립스 개발환경 사용법 및 프로… GNCkorea 1 3879 12/08/09
    47 안드로이드 프로그램이 죽는 경우 디버깅 방법 GNCkorea 1 4620 12/08/09
    46 윈도우즈 개발환경 구성 - Eclipse 3.6.1 (Helios), ADT… GNCkorea 1 3541 12/08/09