지금까지 안드로이드 SDK를 설치하고 에뮬레이터도 실행해 봤습니다. 안드로이드 에뮬레이터에는 Messaging, Phone, Contacts, Browser 등의 어플리케이션이 있는데 이것들을 실행해 보았는지요? 하단 중앙의 버튼을 누르면 다른 어플리케이션들을 볼 수 있습니다. 이런 것 좀 해 보고 나면 이제 직접 어플리케이션을 만들어서 올려 보고 싶은 욕구가 생길 것입니다. 이 장에서는 기본적인 어플리케이션인 "Hello World"를 제작해 보겠습니다.
3.1 이클립스 및 ADT 플러그인 설치하기
안드로이드 프로그래밍을 하기 위해서는 IDE(Integrated Development Environment)가 있어야 하고, 추천하는 IDE는 이클립스(Eclipse)입니다. 이클립스에서 안드로이드 프로그래밍을 돕는 ADT(Android Development Tools) 플러그인도 깔아야 합니다.
(1) 이클립스 설치하기
우선 이클립스부터 설치를 하도록 합시다. 이클립스는 자바 프로그래밍을 할 때 유용한 IDE입니다. 물론 다른 언어로 프로그래밍을 할 수 있는 플러그인도 많이 있습니다. 이클립스는 이클립스 재단(Eclipse Foundation) 홈 페이지에서 무료로 다운로드 받아서 설치할 수 있습니다. 물론 지원하는 하드웨어는 안드로이드 SDK를 지원하는 모든 개발 플랫폼(윈도우, 매킨토시, 리눅스)를 지원합니다. 다음 사이트로 가서 이클립스를 다운로드 합니다.
http://www.eclipse.org/downloads
위 화면으로 가면 다운로드 받을 수 있는 패키지가 10 개 정도 있습니다. 이 중에서 적합한 패키지를 골라야 합니다. 앞에서도 언급하였듯이 ADT는 이클립스 IDE 3.4 (Ganymede) 또는 3.5 (Galileo)가 있습니다. 당연히 숫자가 더 높은 것을 고르면 좋겠지요. 그런데 패키지 이름에는 이런 버전 표시가 없네요. 안드로이드 개발자 사이트의 문서에 보면 추천하는 이클립스 IDE 패키지로 Eclipse IDE for Java EE Developers, Eclipse IDE for Java Developers, Eclipse for RCP/Plug-in Developers를 권장하는군요. 하나만 권장하면 선택이 쉬운데 3 개씩이나 추천하니 어렵군요. 이럴 때는 제일 먼저 추천하는 것을 선택하는 것이 현명한 방법이겠죠.^^

"Eclipse IDE for Java EE Developers (189 MB)"를 클릭합니다. mirror selection 페이지가 나오네요. 제울 위해 있는 선택합시다.

그리고 "eclipse-jee-galileo-SR1-win32.zip" 파일을 원하는 곳에 저장을 합니다. 저장한 파일을 압축을 풉니다. 이것으로 설치가 완료되었습니다. 압축이 풀린 폴더 이름이 "eclipse-jee-galileo-SR1-win32"이군요. 혹시 임시 폴더에서 압축을 풀었다면 이 폴더를 적당한 곳에 옮겨 놓으면 더 좋겠지요. 저는 D:\Android 폴더에 옮겨 놓았습니다. 이 폴더 안에 들어가 보니 "eclipse"라는 폴더가 또 있군요. 더 들어가 보죠. "eclipse.exe" 파일이 있습니다. 이 파일을 실행시켜 봅시다. 로고 화면이 뜨면서 eclipse라는 글자 밑에 "GALILEO"라고 표시가 되어 있군요. 이클립스 IDE 3.5 (Galileo)가 맞군요.
로고가 사라지고 "Workspace Launcher"라는 대화상자가 뜨는군요. "Workspace" 입력 창에 "C:\Documents and Settings\강재우\workspace"라고 제 설정 폴더가 표시되는 군요. 한글 문제 때문에 한 번 고생을 하였으니, 바꾸고 싶네요. (사실 안 바꿔도 큰 문제는 없습니다.) 저는 다음 그림과 같이 안드로이드 폴더로 설정을 하고, 다시 물어보지 않게 체크도 하였습니다.

그러면 다음과 같은 화면이 뜹니다. 우상귀의 "Workbanch" 아이콘을 클릭합니다.

(2) 이클립스 ADT 플러그인 설치하기
ADT는 안드로이드 에뮬레이터와 각종 안드로이드 개발 도구드을 IDE에 통합해 줍니다. 이것을 깔면 DOS 창에서 작업할 일이 거의 없다는 뜻이지요. 그래서 깔면 편합니다. 이 http://developer.android.com/sdk/eclipse-adt.html 페이지에 가면 ADT 플러그인 설치 방법이 나옵니다. Eclipse 3.4 (Ganymede)인 경우와 Eclipse 3.5 (Galileo)인 경우 2 가지가 모두 설명이 되어 있군요. Eclipse 3.5 (Galileo)의 설명을 따라 가면서 제가 설명을 하겠습니다. 다른 IDE 버전을 깐 분들은 직접 위 페이지를 보고 따라가면 되겠습니다.
- 이클립스를 실행합니다. (이미 실행을 해 놓았죠.^^) "Help > Install New Softare"를 실행합니다.
- "Available Software" 대화상자가 나옵니다. 여기서 우상귀 쪽에 있는 "Add...." 버튼을 클릭합니다.
- "Add Site" 대화상자가 뜨는군요. "Android Plugin"이라고 "Name" 필드에 입력합니다. (콜론은 빼고 텍스트만 넣으면 됩니다.) "Location" 필드에는 다음 URL을 입력합니다:
https://dl-ssl.google.com/android/eclipse/
주의: 만약 플러그인을 가져 오는데 문제가 생기면 URL의 "https" 대신에 "s"를 뺀 "http"로 바꿔서 다시 해 보세요. (https는 보안상의 이유로 더 선호되는 방법입니다.)
그리고 OK를 누릅니다.. - 다시 "Available Software" 화면으로 돌아오게 되며, 화면 중앙 리스트에 "Developer Tools"라고 표시된 항목이 보이나요? 이게 보여야 합니다. 혹시 잘못된 것 같으면 위 3번을 다시 해 보세요. "Developer Tools"에 체크 박스를 체크를 해 줍니다. 이렇게 해 주면 그 하위에 있는 툴인 "Android DDMS"와 "Android Development Tools"이 자동으로 모두 선택됩니다. 그리고 화면 아래 쪽에 있는 Next 버튼을 눌러 주세요.
- 위 화면 하단에서 프로그레스 바가 쭉 지나간 후에 "Install Details" 대화상자가 뜹니다. "Android DDMS"과 "Android Development Tools"가 리스트 박스에 표시가 된 것이 보일 것입니다. 이것들을 설치하겠나고 물어 보는 화면입니다. 이 화면 하단의 Next 버튼을 누릅니다. 그러면 "Review Licenses" 화면이 뜹니다. 시간이 많으신 분들은 "License text"을 자세히 읽어 보세요. 그렇지 않은 분들은 바로 아래의 "I accept the terms of the license agreements" 라디오 버튼을 선택하하세요. 그러면 화면 하단에 "Finish" 버튼이 활성화될 것입니다. 그리고 Finish 버튼을 눌러 주세요.
- 그러면 "Android DDMS"와 "Android Development Tools"가 다운로드되면서 설치가 됩니다. 설치 중 "Security Warning"가 나오면 OK 버튼을 꾹~ 눌러 주세요. 그러면 이클립스를 재시작하겠냐고 물어 봅니다. Yes 버튼을 가볍게 눌러 주세요. 그러면 이큽리스 로고 화면이 뜨면서 이클립스가 재시작됩니다.
위 과정은 Eclipse 3.4 (Ganymede)인 경우와 Eclipse 3.5 (Galileo)인 경우가 조금 다릅니다. 이후 Preference 설정부터는 모두 동일합니다.
- "Window > Preferences..." 메뉴를 선택합니다. "Preferences" 화면이 뜨고, 왼쪽에 여러 가지 패널이 보입니다.
- 왼쪽 패널들 중에서 "Android" 패널을 선택합니다. 그러면 "Android SDK Location" 메시지 박스가 뜨면서 안드로이드 SDK 위치가 아직 설정이 안 되어 있다는 메시지가 나옵니다. OK를 누릅니다.
- 안드로이드 메인 패널의 "SDK Location" 입력 창에 안드로이드 SDK를 설치한 폴더 위치를 지정해야 합니다. Browse... 버튼을 클릭하여 안드로이드 SDK가 설치된 폴더를 지정하세요. 저의 경우는 D:\Android\android-sdk로 깔았습니다.
- 그리고 화면 하단의 Apply 버튼을 누른 후 OK 버튼을 누릅니다.
위 과정은 워낙 간단하기 때문에 별도의 이미지 덤프 화면을 첨부하지 않았습니다. 위 과정을 끝내고 나면 다시 ADT 플러그인을 업데이트해야 합니다. ADT 플러그인이 워낙 빨리 발전하고 있어서 최신 버전을 받아 놓는 것이 좋습니다. 이 부분도 위 과정은 Eclipse 3.4 (Ganymede)인 경우와 Eclipse 3.5 (Galileo)인 경우가 조금 다릅니다. 저는 Eclipse 3.5 (Galileo) 기준으로 설명을 합니다.
- Help > Check for Updates 메뉴를 선택합니다. "Connecting Software Sites" 화면이 뜨고 프로그래스 바가 진행이 됩니다. 그리고 저의 경우는 "Information" 메시지 창이 떠서 더 이상 최신 버전이 없다고 합니다. OK 버튼을 누릅니다.
- 혹시 "Available Updates" 대화상자가 뜨는 사람은 계속 따라와 주세요. 리스트 화면의 "Android DDMS"과 "Android Development Tools"를 체크합니다. 그리고 Next 버튼을 클릭합니다.
만약 "Available Updates" 홤녀에 "Android DDMS"와 "Android Development Tools"가 표시되지 않으면 위 1번부터 10번 과정이 진행이 안 되었거나 실패한 것이므로 다시 진행을 해 주세요.
- "Update Details" 대화상자가 나오면 Next 버튼을 클릭합니다.
- "license agreement"를 읽고 accept를 체크합니다. 그리고 Finish 버튼을 누릅니다. 그러면 최신 버전의 "Android DDMS"과 "Android Development Tools"를 다운로드 받아서 업데이트를 합니다.
- 이클립스를 재실행합니다.
(3) Android SDK and AVD Manager
이제 ADT가 설치가 되었으니 "Window > Android SDK and AVD Manager" 메뉴가 보입니다. 그리고 IDE 상단 툴바의 4 번째 아이콘이 이 메뉴와 동일한 기능을 하는 아이콘입니다. 앞으로는 DOS 창에서 tools 폴더의 android.bat 파일을 실행하지 않아도 패키지 설치나 virtual devices 설정이 가능합니다. 혹시 Virtual Devices에 아무 것도 없다면 2 장의 설명을 다시 읽고 따라 하시기 바랍니다. AVD가 없다면 아래 부분을 따라 해 봐야 좌절만 하게 됩니다.
3.2 "Hello, Android" 샘플 프로그램 제작
지금까지 이클립스 및 ADT 플러그인을 설치한 이유는 내가 직접 만든 안드로이드 프로그램을 실행시켜 보기 위한 것이었습니다. 안드로이드 프로그래밍에 대한 기초도 모르는데 이런 것을 하는 이유는 이런 것을 함으로써 기초를 배우기 위함입니다. 안드로이드 아키텍처나 어플리케이션 컴포넌트 구조에 대해 알아 보기 전에 "Hello World"를 먼저 만들어 보는 것이 안드로이드 난이도 파악에 도움이 되겠지요. "Hello World"를 만들어 동작시키는 방법은 http://developer.android.com/guide/tutorials/hello-world.html에 잘 나와 있습니다. 그러나 여기서 AVD를 만들고 하는 방법은 이미 완료가 된 상태이므로 따라 할 필요가 없습니다. 이 방법대로 따라 하다가는 잘 되면 좋지만 안 되는 경우도 많이 있습니다. 엄청나게 고생하고 나서 좌절하여 포기하는 수도 있겠지요.
(1) 새 안드로이드 프로젝트 생성
1. 이클립스에서 File > New > Project... 메뉴를 선택합니다. ADT 플러그인이 잘 설치가 되었다면 "New Project" 대화장자에 "Select a wizard" 창이 뜨고 Wazards에 "Android"라고 표시된 항목이 보일 것입니다. 이것을 클릭하여 하위 항목을 열면 "Android Project"가 보일 것입니다.

2. "Android Project"를 선택하여 Next 버튼을 누르십시오. 그리고 Finish 버튼을 누르세요.
3. 그러면 다음과 같은 화면이 뜹니다. 다음과 같이 입력을 합니다.
Project name: HelloAndroid
Build Target : Android 2.0 체크
Application name: Hello, Android
Package name: com.example.helloandroid (또는 원하는 다른 패키지 이름)
Create Activity: HelloAndroid
Min SDK Version: 5

4. 그러면 이클립스 화면 좌측의 "Package Explorer"에 "HelloAndroid" 프로젝트가 생성됩니다. 트리 항목을 몇 개 열어 보면 다음 그림과 같습니다. 여기서 HelloAndroid.java를 더블클릭으로 선택합니다.

5. HelloAndroid.java 파일의 소스를 보면 다음과 같습니다.
| package com.example.helloandroid; import android.app.Activity; import android.os.Bundle; public class HelloAndroid extends Activity { /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); } } |
패키지 이름은 com.example.helloandroid이고 클래스 이름이 HelloAndroid이고 Activity 클래스를 상속 받아서 구현을 하고 있습니다. 그리고 onCreate() 공개 메소드가 재정의되어 있습니다. 코드에 대한 자세한 설명은 차후에 하고 일단 코드를 수정해 봅시다.
(2) UI 구성하기
우선 위 코드를 다음과 같이 수정합니다. 빨강색으로 표시된 코드는 추가하고 빨강색 코드는 수정하면 되겠습니다.
|
package com.example.helloandroid; |
쉽게 수정하는 방법은 아래 쪽 코드만 수정한 후에 Ctrl-Shift-O를 누르면 이클립스에서 알아서 필요한 패키지를 추가로 임포트(import)를 해 줍니다.
TextView 클래스를 하나 인스턴스화 한 후에 setText() 함수를 호출하여 "Hello, Android" 문자열을 설정하였군요. 그리고 Activity 클래스에 있는 setContentView() 함수에 이 뷰를 인자로 넘겨 주었군요. 더 자세한 사항은 다음에 더 공부를 하기로 하고 일단 실행을 시켜 볼까요?
(3) 어플리케이션 실행하기
이클립스 메뉴 중 메뉴 Run > Run을 선택합니다. 또는 Ctrl+F11을 눌러도 됩니다. 그러면 다음과 같은 "Run As" 화면이 뜹니다. 여기서 "Android Application"을 선택합니다.

HelloAdroid.java 파일을 변경하고 저장을 안 했다면, "Save Resource" 대화상자가 떠서 변경 사항을 저장할 것인지 물어 봅니다. Yes 버튼을 눌러 줍니다. 에뮬레이터가 뜨면서 다음과 같은 화면이 나오면 성공한 것입니다.

혹시 실행을 했는데 에뮬레이터가 안 뜨는 분이 계시는지요? 이럴 가능성이 충분히 있습니다. 이럴 때는 여러 가지 원인이 있을 수 있습니다. 코딩를 잘못하여 에러가 있다든지, 아니면 AVD 설정이 잘못되어 있다든지 말입니다. 코딩이 잘못된 경우는 이클립스 하단의 "Problems" perspective에 표시가 됩니다. 에러가 없는 경우는 AVD 설정을 의심해 봐야 합니다. 2 장을 보고, 에뮬레이터 실행이 잘 되는지 확인을 해 보시기 바랍니다. "Window > Android SDK and AVD Manager" 메뉴에서 확인이 가능합니다. 그렇지 않으면 Android SDK 패키지가 잘 안 깔려 있을 수도 있습니다. 이런 Troubleshooting을 인터넷을 검색하여 해결책을 찾아 보는 것도 방법입니다.
다음 장에서는 안드로이드 어플리케이션 기초로 안드로이드 아키텍처와 어플리케이션 컴포넌트, 액티비티와 태스크, 프로세스와 쓰레드, 컴포넌트 수명에 대해서 알아 보도록 하겠습니다.
끝.
댓글 없음:
댓글 쓰기