안녕하세요. 제임스 입니다. 


오늘부터는 안드로이드 앱 개발을 시작해 보겠습니다. 


지금부터 내용은 모두 Android Studio 기준으로 작성할 예정입니다. 

eclipse 를 이용한 개발도 편하기는 하지만 더이상 지원하지 않는 개발툴로 설명을 할 필요는 없으니 꼭 필요한 경우가 아니라면 언급하지 않겠습니다. 


[Android강좌_003]안드로이드 개발환경 설정 편에서 JDK 설치 및 Android Studio 설치를 끝마쳤습니다. 혹, 설정이나 설치 중 어려움이 있으신 분들은 문의 주시면 도와 드리겠습니다. 




■ 나의 첫 안드로이드 앱에 Hello World 를 찍어보자


대부분의 프로그래밍 언어는 첫 시작을 "Hello World"를 찍는 것으로 시작 합니다. 

그렇다면 우리도 Android 앱 개발의 시작을 알리는 Hello World 를 찍어 봐야겠죠? 


1. 설치한 Android Studio 를 실행 합니다. 

왼편에는 최근 사용한 프로젝트 목록이 나오는데요. 여기서 직접 선택하여 프로젝트를 실행 하실수 있습니다. 


하지만 지금은 첫 프로젝트 생성이니 Start a new Android Studio project 를 선택합니다. 



2. 프로젝트 생성을 위해 Application 이름 및 Company Domain을 설정합니다. 


여기서 정말 중요한 포인트 하나 언급해야 해야 합니다. 

위 두개 명칭을 합쳐서 Package Name (패키지명)을 설정하게 되는데요. 이것이 나중에 여러분이 만든 앱을 구분하는 값이 됩니다. 


위 예제의 경우 Company Domain + Application Name 으로 인해 Package Name 이 com.tutorial.james.myapplication 이 되었습니다. 

위 붉은 색 패키지명이 Google Play 에서 여러분이 만든 앱의 ID가 됩니다. 


예를 들어 Google Play 에서 Gmail 앱을 설치 하려면 아래 링크로 이동이 됩니다. 

https://play.google.com/store/apps/details?id=com.google.android.gm

위 링크 중 com.google.android.gm 이라는 아이디 값이 바로 패키지 명입니다. 


즉, 예제의 앱을 Google Play 에 등록 한다면 

https://play.google.com/store/apps/details?id=com.tutorial.james.myapplication

위 주소로 이동 시 해당 앱을 설치하는 화면이 나오게 됩니다. (위 링크는 실제 앱을 등록하지 않았음으로 아무것도 보실수 없습니다)


그렇다는 것은 이 패키지 명은 유니크 하다는 이야기가 됩니다. Google Play 내에서 동일한 패키지 명을 지닌 앱은 존재하지 않습니다. 

패키지명 생성할때 유의 하셔야 하는 부분입니다. ^^



3. 안드로이드 타겟 단말 설정

< Fig. 3-1 >


< Fig. 3-2 >


3-1 그림의 경우 Minimum SDK 를 안드로이드 4.0 (아이스크림 샌드위치)로 설정 했는데요. 구글 플레이 등록 디바이스 기준 97.4%를 커버 한다는 글이 보이실겁니다. 


3-2 그림의 경우 Minimum SDK 를 안드로이드 2.3 (진저브레드)로 설정을 했는데요. 구글 플레이 등록 디바이스 기준 100%를 커버 한다고 나와 있습니다. 


어느 쪽으로 설정하시든 상관은 없지만 3-1과 같이 4.0 버전으로 설정을 할 경우 나머지 3% 정도는 여러분이 만든 앱을 다운받을 수 없습니다. 검색을 해도 노출이 되지 않습니다. ^^;;


그외 다른 디바이스용 앱도 개발 할 수 있으니 차후 기회가 된다면 관련 글 추가 해보도록 하겠습니다. 



4. Activity 타입 설정


Default 는 Empty Activity 로 설정 되어 있습니다. 개발하고자 하는 목적이나 화면 구성에 따라 풀스크린, 구글광고앱, 구글맵 등등을 선택할 수 있고 프로젝트 생성 시 Android Studio 가 그 설정에 맞는 컴포넌트들을 셋팅해 줍니다. 


편하기는 하지만 굳이 저 기능들을 사용하지 않고 Empty Activity 로 시작해서 원하는 기능들을 추가 하는 방법도 있습니다. 


여기서는 Empty Activity 를 선택하여 Next 를 선택 합니다. 



5. 메인화면 Activity 설정


Android 에서 Activity 란 각각의 화면을 이야기 합니다. 

위 예제에서는 MainActivity 로 생성했는데요. 실제 파일이 생성 될때는 MainActivity.java 파일로 만들어 집니다. 

그리고 하나의 Activity 에는 화면을 구성하는 .xml 파일이 맵핑 되거나 또는 Activity 내에서 직접 코딩으로 생성 하는 경우도 있습니다. 

여기서는 activity_main 이라는 명을 가진 .xml 파일을 생성 합니다. 


Finish 를 눌러 프로젝트를 생성 합니다. 



6. 프로젝트 생성


프로젝트가 생성되고 앞으로 자주 보게될 Android Studio 개발 화면으로 진입하셨습니다. 



7. 안드로이드 가상 장치 AVD (Android Virtual Device) 실행하기 


실제 앱을 실행할 단말이 있어야 합니다. 

안드로이드 폰 사용자라면 폰을 USB 커넥터를 이용하여 개발 PC에 연결하는 방식으로 개발을 할 수 있으나 Android Studio 에서 제공하고 있는 안드로이드 가상 장치 (AVD) 를 사용해 보도록 하겠습니다. 


위 이미지의 아이콘을 클릭 또는 Tools > Android > AVD manager 를 선택합니다.



8. AVD 선택 및 실행 


처음 등록되어 있는 디바이스는 Nexus 5 입니다. 

왼쪽 하단 Create Virtual Device 를 클릭하여 다른 단말들을 등록 하거나, 원하는 디바이스를 커스터마이징 가능합니다. 이부분은 차후에 한번 다시 언급하겠습니다. 


가장 오른쪽 Actions 컬럼의 초록색 화살표를 클릭 하면 AVD를 실행 합니다. 



9. 실행된 안드로이드 가상 장치 (AVD)


Nexus 5 실물과 같은 가상 장치가 실행 됩니다.



10. Application 실행하기


위 이미지의 Run 'app' 버튼을 클릭 하거나 Run > Run 'app' 을 실행하는 것으로 현재 프로젝트 내 개발된 상태로 앱을 실행 (빌드한다 라는 표현을 많이 씁니다) 합니다. 



11. Application 을 설치할 Device 선택


실행 중인 AVD - Nexus 5 가 연결된 단말 정보로 보여집니다. 

물론 여기서도 다른 AVD 를 추가로 생성하는 것이 가능합니다. 


만약 AVD 를 여러개 실행 중이거나 개인 테스트 폰이 USB 를 통해 추가 연결되어 있다면 더 많은 목록이 보여 지게 됩니다. 


원하는 디바이스를 선택후 OK를 클릭하여 앱을 실행합니다. 



12. Hello World!


AVD 에서 앱이 실행 되고 Hello World! 가 찍혀 있는 것을 보실 수 있습니다. 




이렇게 첫 안드로이드 애플리케이션을 만드는데 성공 하였습니다. 

어렵지 안죠? ^^



여담이지만 안드로이드 앱 개발자가 그렇게 많지 않은 초창기에 있었던 이야기 입니다. 


안드로이드 공부를 하고 입사 지원을 한 사람에게 면접관이 이렇게 물었다고 합니다. 


"안드로이드 앱에 Hello World 라는 문구를 찍을려면 어떻게 해야 합니까?"


그러자 지원자가 장황하게 설명을 시작했다고 합니다. 

"레이아웃 xml 파일을 열고 TextView를 생성하여 text에... " 


그 지원자는 바로 면접에서 떨어졌다고 합니다. 


왜인지 아시겠죠? 처음 프로젝트를 생성하고 아무것도 하지 않고 앱을 실행하면 보실수 있는것이 바로 Hello World! 이니까요 ^^



지금까지 안드로이드 첫번째 앱을 만들어 봤습니다. 

앞으로 더 좋은 글 준비 해보겠습니다. 





블로그 이미지

쉬운코딩이최고

Android, Java, jsp, Linux 등의 프로그래밍 언어를 소개 합니다.

,

안녕하세요. 제임스 입니다. 


이번에는 안드로이드 개발을 위한 개발환경 설정에 대해 정리 하겠습니다. 


■ Java JDK 설치

기본적으로 Java JDK 가 설치 되어 있어야 합니다. 

JDK 설치는 아래 오라클 홈페이지의 Java 설치 페이지로 이동 하시면 됩니다. 

http://www.oracle.com/technetwork/java/javase/downloads/index.html



Java Platform (JDK) 8uXXX 를 선택합니다. 


동의 후 PC 버전을 선택하여 다운로드를 시작 하시면 됩니다. 

필자의 PC 는 64비트 이므로 x64 를 선택했습니다. 

참고로 32비트의 경우 x86 을 선택 하시면 됩니다. 


설치 파일을 받으신후 프로그램 설치는 Setup Wizard 따라서 그냥 설치 하시면 되는 전혀 어렵지 않은 과정이므로 생략 합니다. 



■ 개발 툴 설치

개발 툴인 Android Studio 를 아래 링크에서 다운로드 받으시면 됩니다. 

https://developer.android.com/studio/index.html


툴 설치는 Setup Wizard 가 안내하는 대로 그대로 따라 가시기만 하면 간단히 설치 가 되므로 특별히 언급하지 않겠습니다. 


다만 일부 Windows 시스템에서는 JDK 가 설치된 위치를 런처 스크립트가 찾지 못하는 경우가 있다고 합니다. 이 문제가 발생하면 올바른 위치를 나타내는 환경변수를 설정해주면 됩니다. 


Start 메뉴 > 컴퓨터 > 시스템 설정 > 고급 시스템 설정 > 고급 탭  > 환경 변수 를 클릭 하여 JDK 폴더 (예: c:\Program Files\Java\jdk1.8.1_21)를 가리키는 새 시스템 변수 JAVA_HOME 을 추가 하시면 됩니다. 


아래 동영상은 설치 방법입니다. 안드로이드 개발자 사이트에 있는 동영상입니다.


출처 : https://developer.android.com/studio/install.html



기존에는 Java 개발자들에게 아주 친숙한 eclipse 를 사용하여 안드로이드 개발이 가능 하였지만 얼마전부터 eclipse 에 대한 ADT (Android Developer Tool) 지원을 끊어 버렸습니다. 

https://android-developers.googleblog.com/2016/11/support-ended-for-eclipse-android.html


위 링크를 확인 해보시면 2015년 연말에 이미 더이상의 지원을 하지 않을 것이라고 공지 했었음을 명시하고 현재는 지원을 하고 있지 않음을 이야기 하고 있습니다. 



그래서 이제는 더이상 eclipse 를 IDE 로 추천하지 않습니다. 

대신 구글에서 official IDE 로 Android Studio 를 내세우고 있습니다. 그만큼 강력한 개발 툴임은 확실합니다. 물론 eclipse 를 사용하시던 분들에게는 Android Studio 의 단축키가 정말 어렵게만 느껴 질수 있지만 eclipse 단축키를 그대로 사용 하는 방법도 있습니다. 


Android Studio 단축키 및 eclipse 단축키 사용하기 포스트 내용 확인하러 가기



이제 개발 준비가 끝나셨습니다. 

시작이 반이라고 이미 안드로이드 개발자라고 하실수... 있었으면 좋겠지만, 아직 갈 길이 멀게 느껴집니다. 


혼자서 멋드러진 앱을 만들수 있는 그날까지 열심히 강좌를 올리도록 하겠습니다. 

감사합니다. 



블로그 이미지

쉬운코딩이최고

Android, Java, jsp, Linux 등의 프로그래밍 언어를 소개 합니다.

,


▶ Android Studio 의 디폴트 셋팅 되어 있는 단축키 목록

DescriptionWindows/LinuxMac
General
Save allControl + SCommand + S
SynchronizeControl + Alt + YCommand + Option + Y
Maximize/minimize editorControl + Shift + F12Control + Command + F12
Add to favoritesAlt + Shift + FOption + Shift + F
Inspect current file with current profileAlt + Shift + IOption + Shift + I
Quick switch schemeControl + ` (backquote)Control + ` (backquote)
Open settings dialogueControl + Alt + SCommand + , (comma)
Open project structure dialogControl + Alt + Shift + SCommand + ; (semicolon)
Switch between tabs and tool windowControl + TabControl + Tab
Navigating and Searching Within Studio
Search everything (including code and menus)Press Shift twicePress Shift twice
FindControl + FCommand + F
Find nextF3Command + G
Find previousShift + F3Command + Shift + G
ReplaceControl + RCommand + R
Find actionControl + Shift + ACommand + Shift + A
Search by symbol nameControl + Alt + Shift + NCommand + Option + O
Find classControl + NCommand + O
Find file (instead of class)Control + Shift + NCommand + Shift + O
Find in pathControl + Shift + FCommand + Shift + F
Open file structure pop-upControl + F12Command + F12
Navigate between open editor tabsAlt + Right/Left ArrowControl + Right/Left Arrow
Jump to sourceF4 / Control + EnterF4 / Command + Down Arrow
Open current editor tab in new windowShift + F4Shift + F4
Recently opened files pop-upControl + ECommand + E
Recently edited files pop-upControl + Shift + ECommand + Shift + E
Go to last edit locationControl + Shift + BackspaceCommand + Shift + Backspace
Close active editor tabControl + F4Command + W
Return to editor window from a tool windowEscEsc
Hide active or last active tool windowShift + EscShift + Esc
Go to lineControl + GCommand + L
Open type hierarchyControl + HControl + H
Open method hierarchyControl + Shift + HCommand + Shift + H
Open call hierarchyControl + Alt + HControl + Option + H
Writing Code
Generate code (getters, setters, constructors, hashCode/equals, toString, new file, new class)Alt + InsertCommand + N
Override methodsControl + OControl + O
Implement methodsControl + IControl + I
Surround with (if...else / try...catch / etc.)Control + Alt + TCommand + Option + T
Delete line at caretControl + YCommand + Backspace
Collapse/expand current code blockControl + minus/plusCommand + minus/plus
Collapse/expand all code blocksControl + Shift + minus/plusCommand + Shift + minus/plus
Duplicate current line or selectionControl + DCommand + D
Basic code completionControl + SpaceControl + Space
Smart code completion (filters the list of methods and variables by expected type)Control + Shift + SpaceControl + Shift + Space
Complete statementControl + Shift + EnterCommand + Shift + Enter
Quick documentation lookupControl + QControl + J
Show parameters for selected methodControl + PCommand + P
Go to declaration (directly)Control + B or Control + ClickCommand + B or Command + Click
Go to implementationsControl + Alt + BCommand + Alt + B
Go to super-method/super-classControl + UCommand + U
Open quick definition lookupControl + Shift + ICommand + Y
Toggle project tool window visibilityAlt + 1Command + 1
Toggle bookmarkF11F3
Toggle bookmark with mnemonicControl + F11Option + F3
Comment/uncomment with line commentControl + /Command + /
Comment/uncomment with block commentControl + Shift + /Command + Shift + /
Select successively increasing code blocksControl + WOption + Up
Decrease current selection to previous stateControl + Shift + WOption + Down
Move to code block startControl + [Option + Command + [
Move to code block endControl + ]Option + Command + ]
Select to the code block startControl + Shift + [Option + Command + Shift + [
Select to the code block endControl + Shift + ]Option + Command + Shift + ]
Delete to end of wordControl + DeleteOption + Delete
Delete to start of wordControl + BackspaceOption + Backspace
Optimize importsControl + Alt + OControl + Option + O
Project quick fix (show intention actions and quick fixes)Alt + EnterOption + Enter
Reformat codeControl + Alt + LCommand + Option + L
Auto-indent linesControl + Alt + IControl + Option + I
Indent/unindent linesTab/Shift + TabTab/Shift + Tab
Smart line joinControl + Shift + JControl + Shift + J
Smart line splitControl + EnterCommand + Enter
Start new lineShift + EnterShift + Enter
Next/previous highlighted errorF2 / Shift + F2F2 / Shift + F2
Build and Run
BuildControl + F9Command + F9
Build and runShift + F10Control + R
Debugging
DebugShift + F9Control + D
Step overF8F8
Step intoF7F7
Smart step intoShift + F7Shift + F7
Step outShift + F8Shift + F8
Run to cursorAlt + F9Option + F9
Evaluate expressionAlt + F8Option + F8
Resume programF9Command + Option + R
Toggle breakpointControl + F8Command + F8
View breakpointsControl + Shift + F8Command + Shift + F8
Refactoring
CopyF5F5
MoveF6F6
Safe deleteAlt + DeleteCommand + Delete
RenameShift + F6Shift + F6
Change signatureControl + F6Command + F6
InlineControl + Alt + NCommand + Option + N
Extract methodControl + Alt + MCommand + Option + M
Extract variableControl + Alt + VCommand + Option + V
Extract fieldControl + Alt + FCommand + Option + F
Extract constantControl + Alt + CCommand + Option + C
Extract parameterControl + Alt + PCommand + Option + P
Version Control / Local History
Commit project to VCSControl + KCommand + K
Update project from VCSControl + TCommand + T
View recent changesAlt + Shift + COption + Shift + C
Open VCS popupAlt + ` (backquote)Control + V



▶ 단축키 변경은 아래와 같은 방법으로 진행 하면 된다.

File > Settings > Keymap (on Windows)

File > Properties > Keymap (on Mac)


 



▶ eclipse 에 익숙한 경우 Keymap 을 eclipse 로 선택 적용 하면 된다 

 



원하는 Keymap 을 선택 한 후 추가적으로 원하는 단축키 설정을 하면 끝


※ 단축키 표 출처 : 

https://developer.android.com/studio/intro/keyboard-shortcuts.html#custom

블로그 이미지

쉬운코딩이최고

Android, Java, jsp, Linux 등의 프로그래밍 언어를 소개 합니다.

,