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