• 1나루토매니아
  • 2뱅이
  • 3푸타코타
  • 4완벽그자체
  • 5해삼
  • 1뱅이
  • 2나루토매니아
  • 3알짜배기
  • 4뱅이
  • 5빙그레우유
안드로이드 강좌 3 - 프로젝트 실행과 디버깅 그리고 단말 세팅
연속출석 :
1일 랭킹 : 399위 중장7
45%
45% (1541 /3455)
  • 댓글 0 |
  • 추천 0 |
  • 조회 3576 |
  • 2012-08-09 (목) 16:30
    안녕하세요 회색입니다. 이번 강좌에서는 작성된 프로젝트의 실행과 디버깅을 해보고 실제 단말 연결까지 해보도록 하겠습니다.

    안드로이드 강좌 3 - 프로젝트 실행과 디버깅 그리고 단말 세팅

    Activity 실행
    메뉴에서 Run/Run Configurations 실행
    Android Application에서 오른쪽 마우스 클릭후 New 선택
    Name: New_configuration 을 프로젝트에 맞게 변경
    Project : Browse후 해당 Project선택
    Launch Action : Run시 실행할 Activity를 선택합니다.


    (그림 3-1)
    새로 작성한 Activity를 실행해 보기 위해서 Launch를 선택하고 List에서 새로생성한 MyActivity를 선택합니다.
    Apply 후 Run을 실행하면 Emulator가 아직 떠있지 않다면 자동으로 실행합니다. Emulator는 한번 생성해 놓으면 매번 프로그램을 실행할때 마다 다시 시작시킬필요없이 재사용될 수 있습니다.
    Run을 하게 되면 자동으로 Emulator에 이전에 인스톨되어있던 프로그램을 언인스톨하고 새로 작성된 프로그램을 인스톨한 후 선택한 Activity로 실행하여 줍니다.


    (그림 3-2)
    에뮬레이터를 처음 실행하였을 때 (그림 3-2)와 같은 화면이 나오는데 MENU라고 써져 있는 부분을 클릭하면 프로그램 화면을 볼 수 있습니다. 정상적으로 실행이 되었다면 에뮬레이터에 myactivity.xml에서 작성해주었던 "안녕하세요 모바일 플레이스 안드로이드 강좌 수강생 여러분" 라는 문구가 나타납니다.

    (그림 3-3)
    다시 프로그램을 실행시킬 때에는 (그림 3-3)에 표시된 아이콘을 누른 후 생성한 Configuration을 선택하면 됩니다.
    디버깅
    소스 에디터의 왼쪽 부분을 더블 클릭하면 해당 위치에 브레이크 포인트가 설정됩니다. 브레이크 포인트가 설정된 지점에 작은 동그라미가 표시됩니다.


    (그림 3-4)
    그럼 이제 디버깅 모드로 프로그램을 실행시켜보도록 하겠습니다. (그림 3-5)에 표시된 벌레 모양 아이콘이 디버깅을 위한 실행 버튼입니다.

    (그림 3-5)
    다이얼로그 창이 뜨는데 확인을 누르면 이클립스가 디버그 상태로 전환됩니다. 이것을 Debug Perspective로 전환되었다고 합니다. 그리고 아까 잡아주었던 브레이크 포인트에 현재 실행이 멈추어 있는 것을 확인할 수 있습니다.

    (그림 3-6)
    Step Into (F5) : 메서드 속으로 들어가서 실행
    Step Over (F6) : 한줄 실행
    등 디버깅과 관련된 명령과 아이콘의 모양은 메뉴의 Run에서 확인하실 수 있습니다.
    Perspective
    소스 변경화면과 디버깅 화면등의 Perspective 전환은 오른쪽 위화면에서 각각 Java와 Debug의 클릭으로 가능합니다.

    (그림 3-7)
    안드로이드 개발시 또하나의 유용한 Perspective가 있는데 바로 DDMS입니다. 메뉴의 Windows/Open Perspective에서 DDMS를 선택하면 열수 있습니다. (바로 보이지 않는다면 Other를 클릭하면 선택하실 수 있습니다.)

    (그림 3-8)
    DDMS Perspective에서는 현재 에뮬레이터 및 단말의 프로세스, 쓰레드, 힙, 파일등의 다양한 정보를 확인할 수 있습니다. 또한 에뮬레이터에서 SMS, 전화, GPS 등을 시뮬레이션할 수도 있습니다.
    로그캣
    저번 강좌에서 소스에 Log.d("MyTag", "Print Test Log"); 라는 코드를 넣었습니다. 이것은 개발할때 필요한 로그를 출력해주는 역할을 합니다. 디버깅 혹은 DDMS 화면 밑 부분에 LogCat이라는 영역에서 로그를 확인하실 수 있습니다. Print Test Log라고 찍힌 부분을 확인하실 수 있습니다.


    (그림 3-9)
    그런데 로그가 너무 많이 나와서 복잡합니다. 작성한 어플리케이션에서 나오는 메시지만을 따로 확인하기 위해서 필터를 적용할 수 있습니다. Log.d함수의 첫번째 인자인 Tag부분을 이용해서 가능합니다. 녹색 + 모양을 눌러 Filter를 생성합니다.

    (그림 3-10)
    Log Filter라는 창에서 Filter Name은 적당히 적은 후, 따로 메시지를 확인할 Tag부분을 "MyTag"로 적어서 OK를 합니다.

    (그림 3-11)
    이제 LogCat창안에 새로운 필터 탭이 생겨서 MyTag라는 Tag를 가지는 메시지는 따로 분류해서 보여줍니다.

    (그림 3-12)
    단말 디버깅
    안드로이드 실제 단말을 통한 개발은 몇가지 설정만 해준다면 에뮬레이터를 통한 개발과 크게 다르지 않습니다.
    단말 상에서 Settings를 실행 Applications/Development로 들어가서 USB debugging과 Stay awake를 체크해줍니다.
    그런 후 단말을 USB케이블을 통해서 PC연결해주면 새로운 장치를 찾았다며 드라이버를 설치하라는 화면이 나옵니다.
    드라이버는 SDK가 설치된 폴더 밑에 usb_driver라는 폴더에 저장되어있습니다. (1.0 SDK Release2에서 부터 포함되서 나왔습니다.)
    정상적으로 드라이버가 설치되었다면 DDMS화면의 왼쪽 윗부분 Devices화면에 Emulator가 아닌 실제 장치가 표시됩니다.

    (그림 3-13)
    실제 단말상에서 개발시 소스 상에서 추가해줘야 하는 부분이 하나 있습니다. AndroidManifest.xml에 application 태그에서 android:debuggable="true"를 추가해주어야 합니다. 만약 설정해주지 않는다면 Wating For Debugger화면에서 더 이상 진행되지 않습니다.

    (그림 3-14)
    debuggable tag는 개발시에 넣어두고 실제 릴리즈시에는 삭제해주는 것이 좋습니다. 이제 모든 설정이 끝났고 실제 단말에서도 에뮬레이터에서 디버깅을 하는 것과 동일하게 개발을 하실 수 있습니다.
    이번 강좌에서는 안드로이드 개발과 디버깅을 위한 이클립스의 사용법과 단말 세팅까지 살펴보았습니다. 이제 이클립스에 환경과 기본적인 프로젝트 구성에 익숙해지셨을 테니 다음 강좌 부터는 본격적인 개발에 들어가 보도록 하겠습니다.


    [이 게시물은 더어플님에 의해 2016-07-12 15:23:56 개발 꿀팁에서 복사 됨]
    댓글을 작성하시려면 로그인을 하셔야지만 작성가능합니다. [로그인하기] [회원가입하기]
    번호 제목 글쓴이 추천 조회 작성일
    76 갤럭시S3 사용자를 위한... 주요기능 5가지 +6 GNCkorea 0 3718 12/09/16
    75 GTD 할일 관리를 위한 무료앱 Nirvana 너바나 간단 리뷰 GNCkorea 0 3834 12/07/27
    74 뉴 아이패드를 맞이하는 iOS 게임들의 자세 +1 GNCkorea 0 11762 12/08/02
    73 iOS6서 시리 한국어 지원, 화제의 키노트 GNCkorea 0 1869 12/08/12
    72 아이패드2 멀티터치기능 +1 GNCkorea 0 1714 12/08/13
    71 옵티머스 LTE2 맥에서 메모리 연결하기LifeClue GNCkorea 0 3280 12/07/29
    70 갤럭시S3 캡쳐방법 - 엄지손가락 캡쳐 GNCkorea 0 2770 12/08/04
    69 HTC ONE 시리즈 커스텀 롬에 한국어 추가 GNCkorea 0 3033 12/08/07
    68 베가 S5 하드웨어 성능 및 배터리 시간 테스트 +1 GNCkorea 0 9912 12/08/10
    67 향상된 500만 화소 iSight 카메라 기능 GNCkorea 0 4322 12/08/02
    66 WWDC 2012 뉴 맥북, OS X 10.8 마운틴 라이온 및 iOS 6 … +1 GNCkorea 0 2344 12/08/12
    65 아이패드2 페이스타임 +1 GNCkorea 0 1927 12/08/13
    64 갤럭시S3 캡쳐방법 - 손날캡쳐 GNCkorea 0 3205 12/08/04
    63 넥서스7 루팅하기 (아무것도 없이 따라만 오세요) +1 GNCkorea 0 4680 12/08/07
    62 스타벅스 Pick of the Week 아이폰/패드앱 이북 Tasting… GNCkorea 0 1486 12/07/27
    61 아이폰 수동으로 APN 설정 및 서비스 안됨 해결 방법 +1 GNCkorea 0 9786 12/08/12
    60 갤럭시S3 MicroSD 메모리 제거 및 장착 +1 GNCkorea 0 3029 12/07/31
    59 갤스2 CM9 MOD - 중앙시계 및 상태바 기능 확장 GNCkorea 0 6471 12/08/04
    58 이미지 암호화 GNCkorea 0 2617 12/08/07
    57 갤s2 framework-res로 속도 향상 및 기능 조작하기 GNCkorea 0 4116 12/08/08
    56 미국 여행시 유용한 무료 GPS 내비게이션 앱 모음 GNCkorea 0 3294 12/07/27
    55 아이폰 아이패드 사파리 브라우저 폰트 글씨 크기 조절 … +2 GNCkorea 0 7443 12/08/12
    54 아이폰 200% 활용, 간편해진 탈옥 방법 +4 GNCkorea 0 2142 12/09/16
    53 Low memory killer / win death / Gallery 선택후 프로… GNCkorea 0 3405 12/08/07
    52 갤투 cm9 (aosp/aokp) 등등에서 자이로센서 문제 해결방… GNCkorea 0 4382 12/08/04
    51 아이폰 스타일 환경설정 창 GNCkorea 0 2028 12/08/07
    50 갤럭시S3 LTE SKT 대기상태표기버그 수정본 + 소프트키 … GNCkorea 0 5011 12/08/08
    49 구글 넥서스 OTA 끄기 - 루팅 필요 GNCkorea 0 4131 12/08/10