develop android app using intellij

25
IntelliJ IDEA안드로이드 앱을 만들어보자! GDG Android Korea 2미니 컨퍼런스 2013.1 안세원 ( kingori @ gmail.com)

Upload: sewon-ann

Post on 28-Nov-2014

5.371 views

Category:

Technology


7 download

DESCRIPTION

IntelliJ의 안드로이드 지원 기능 소개. 이클립스에서 안드로이드로 잘 넘어오기 위한 도움말.

TRANSCRIPT

Page 1: develop android app using intellij

IntelliJ IDEA로 안드로이드 앱을 만들어보자!

GDG Android Korea 제 2회 미니 컨퍼런스 2013.1 안세원 ( kingori @ gmail.com)

Page 2: develop android app using intellij

2

자기소개

안세원 거의 만 2년차

안드로이드 개발자

+kingori @ g+

kingori.egloos.com kingori @ gmail.com

Page 3: develop android app using intellij

안드로이드 개발 도구론 무엇이 있을까요?

3

Page 4: develop android app using intellij

안드로이드 개발 도구론 무엇이 있을까요?

4

산업 전선 용 선택지는 몇 개 없다. 그냥 둘 중 하나 쓰는 게 정신 건강에 좋다!

Page 5: develop android app using intellij

왜 이클립스 잘 쓰던 사람들에게 IntelliJ 얘기를 하려 하는가?!?

5 http://www.jetbrains.com/idea/

이클립스만이 세상의 전부가 아니다

Page 6: develop android app using intellij

!돌발 퀴즈!

6

Page 7: develop android app using intellij

!돌발 퀴즈!

7

인텔리제이 첫 버전 릴리스 년도는 언제?

Page 8: develop android app using intellij

!돌발 퀴즈!

8 http://borland.public.delphi.non-technical.narkive.com/F6UT1g1l/code-refactoring.2

인텔리제이 첫 버전 릴리스 년도는 언제? 역사와 전통을 자랑하는 IDE임

Page 9: develop android app using intellij

9

인텔리제이 12의 안드로이드 지원

1. 안드로이드 UI 디자이너

이클립스와 유사한 수준의 디자이너 제공. 커스텀 뷰도

어느 정도 잘 보여줌

2. 플랫폼 툴 지원

AVD, SDK, Monitor 등의 도구에 접근할 수 있음. 하지만 ADB 관련하여 여러 문제점 있음.

logcat은 내장이나, 다른 도구는 링크 수준임

Page 10: develop android app using intellij

10

인텔리제이 12의 안드로이드 지원

3. 리펙터링 기능

자바 리펙터링은 물론,

style extract, resource rename,

move 등 안드로이드 고유의 리펙터링 기능 제공

4. Resource 지원

drawable, layout, value 등 다양한 안드로이드 리소스 생성/수정/편집 기능 지원

Page 11: develop android app using intellij

11

인텔리제이 12의 안드로이드 지원

하지만 그 무엇보다 편집기가 막강함!

뭔가… 스샷은 좀 부적절해 보이지만…

Page 12: develop android app using intellij

12

8개월 정도 써 봤더니…

• 이클립스 보다 “조금” 가볍고, “많이” 안정적임 • 매우 강력한 단축키. 하지만 외워야 보배 • 미리보기 용도로 유용한 레이아웃 디자이너 • xml 에서 실수로 run을 눌러도 .xml.out이 안생김! • /libs/ 에서 참조하는 jar의 source, javadoc도 쉽게 볼 수 있음 • library project 설정이 까다로움. 몇 번의 빌드 실패는 각오해야 함

• 도구 통합은 이클립스에 비해 굉장히 떨어짐 • Monitor 등의 도구가 별도로 떨어져 나와 굉장히 불편함 • ADB 세션이 붙었다 떨어졌다 함 • Monitor 를 실행한 상태에서 디버깅 못함(!!!)

ex) 디버거 붙인 상태에서 에뮬레이터에 SMS 보낼 방법 없음

도구 통합이 꽤 아쉬움! 취향따라 선택하세요!

Page 13: develop android app using intellij

13

에디션 구분

무료 버전인 CE도 안드로이드 개발엔 충분함!

• Ultimate Edition • 기업 $699 (1년 업그레이드 포함) / 개인 $199 • 서버, UML, 각종 프레임워크(Spring, Play,..) 지원

• Community Edition • 무료, 오픈소스 • 서버 기술 지원은 많이 빠졌지만, 안드로이드 기능은 모두 제공함

• EAP (http://confluence.jetbrains.net/display/IDEADEV/EAP)

• Early Access Preview. 일종의 베타버전 • Ultimate Edition의 trial도 사용해 볼 수 있음 • 안드로이드 개발자 입장에선 새 버전을 미리 써 본다는 정도?

Page 14: develop android app using intellij
Page 15: develop android app using intellij

15

인텔리제이 연착륙을 위한 가이드

1.프로젝트 / 모듈 개념을 알자

2.단축키를 외우자!!!!

Page 16: develop android app using intellij

Workspace

Project 3

16

인텔리제이의 프로젝트 & 모듈

Project 1

Project 2

Plugin 1

Plugin 2

Global Setting

Plugin 1 Project 1

Project 1

Module 3

Module 2

Module 1

Plugin 2

VS

Page 17: develop android app using intellij

17

인텔리제이의 프로젝트 & 모듈

Global Setting

Plugin 1 Project 1

Project 1

Module 3

Module 2

Module 1

Plugin 2

안드로이드로 따지면…

• 안드로이드 플러그인 설치 • 앱 프로젝트 생성 • 프로젝트 환경설정 • 앱 프로젝트를 모듈로 등록 • 라이브러리 프로젝트도 모듈로 등록

• 모듈 간 의존관계 정의

Page 18: develop android app using intellij

18

그리고… 단축키 외우기

Page 19: develop android app using intellij

19

주요 단축키 - 편집

http://www.jetbrains.com/idea/documentation/index.jsp

자동완성 (당연히 매우 중요!) 이 단축키 눌러서 안 나오면 저 자동완성 시도하면 됨

오버라이드 / 인터페이스 메서드 구현

주석. 다행히 이클립스랑 비슷하다.

선택영역 확장/축소. 굉장히 편함! (vim 이랑 비슷)

알아서 해주세요. 이클립스 ctrl + 1

Page 20: develop android app using intellij

20

주요 단축키 - 편집

코드 정리

다중 붙여넣기가 굉장히 편리함!

Page 21: develop android app using intellij

21

주요 단축키 – 찾기/이동

호출하거나 사용하는 코드 찾기

클래스/ 파일(layout xml 등) / 심벌(메서드, 상수, enum 등) 찾기

라인 이동

최근에 연 파일들 팝업. 파일 뿐 아니라 다른 view로도 이동할 수 있기 때문에 편함!

이전/다음 에러

파일 구조

타입 계층구조

이전/이후 수정 위치, 마지막 편집 위치. 마지막 편집 위치 굉장히 편리함!

Page 22: develop android app using intellij

22

주요 단축키 – 리펙터링

안드로이드 리소스/액티비티 도 안심하고 rename 가능!

Page 23: develop android app using intellij

23

그리고… 궁극의 단축키

Page 24: develop android app using intellij

24

실습을 빙자한 단축키 데모

ICS 이전 버전에서도 액션바를 제공하는

프래그먼트 기반의 헬로 월드 (제목은 거창하게)

1. ActiobarSherlock 연동으로 library project 설정 방법을 익힘 2. support library를 이용. 이로 인해 library project와

application project의 충돌, 해결방법을 확인함

Page 25: develop android app using intellij

고맙습니다!