메뉴 바로가기 검색 및 카테고리 바로가기 본문 바로가기

한빛출판네트워크

초보자를 위한 안드로이드 스튜디오 : Hello World부터 채팅 앱과 벽돌깨기 게임까지

한빛미디어

번역서

절판

  • 저자 : 마츠오카 겐지
  • 번역 : 김성재
  • 출간 : 2016-01-22
  • 페이지 : 480 쪽
  • ISBN : 9788968482564
  • 물류코드 :2256
  • 초급 초중급 중급 중고급 고급
4.8점 (6명)
좋아요 : 48

안드로이드 앱 개발 입문자를 위한  안드로이드 스튜디오 최고의 교과서
안드로이드 스튜디오 사용법 + 차근차근 채팅 앱, 벽돌깨기 앱 개발 + 구글 플레이 등록까지!

 

이 책은 거창한 앱을 예제로 사용하지 않습니다. “Hello World” 텍스트를 뿌리는 예제부터 시작합니다. 버튼을 만들고 애니메이션을 추가하고, 그렇게 만든 간단한 채팅 앱의 완성도를 높이며 업그레이드합니다. 결국 독자는 채팅 앱과 벽돌깨기 앱을 만들 수 있게 될 겁니다. 그렇기에 안드로이드 스튜디오 본연의 기능에 더 집중하여 앱 만드는 방법을 차근차근 배울 수 있습니다. 이미 안드로이드 개발 경험이 있는 경력자라면 입문자의 눈높이에 맞춘 세세한 설명이 다소 갑갑하게 느껴질 수 있습니다. 하지만 안드로이드 앱을 만들고 싶은 입문자라면 이 책이 최고의 선택이 될 것이다. 이 책보다 안드로이드 앱 개발 초보자가 알아야 할 기초 지식을 꼼꼼히 설명하는 책이 세상에 없기 때문입니다.

 

마츠오카 겐지 저자

마츠오카 겐지

초등학생 시절부터 프로그래밍을 배우기 시작한다. 게임을 만들어 친구들과 놀면서 프로그래밍에 재미를 느끼고 프로그래밍 세계에 빠져든다.
그후 시스템 인티그레이터(SIer)로서 일하다가, 안드로이드를 만나고 프리랜서로서 독립한다. 앱 위탁 개발을 하면서 오리지널 제품도 개발한다. 현재 특히 힘을 쏟는 것은 웨어러블, 자동차, 음악 관련 앱 개발이다. ‘Google Developers Group 규슈’를 설립했다. 오거나이저를 하면서 스터디 모임과 강연 활동도 겸하고 있다.   

 

김성재 역자

김성재

기술 분야 전문 번역가. 관심 분야는 IT 기술과 일본어 교육 콘텐츠 등이다. 최근에는 업무에 필요한 맥 OS와 iOS 애플리케이션의 개발과 리뷰, 환경 구축에 관심이 있다. 번역서로는 『만들면서 배우는 기계 학습』, 『빅데이터의 충격』, 『C언어로 배우는 리눅스 프로그래밍』, 『구글 웹로그 분석』(이상 한빛미디어) 등이 있다.

 

1장 앱 개발을 시작하기 전에 
    1.1 프로그래밍의 즐거움 
    1.2 프로그래밍으로 변하는 세계 
    1.3 안드로이드 앱의 구조


2장 개발 환경 설정 
    2.1 프로그램을 만들 준비를 하자(윈도우) 
    2.2 프로그램을 만들 준비를 하자(Mac) 
    2.3 안드로이드 스튜디오 설정하자(윈도우/Mac) 
    2.4 스마트폰을 설정하자 


3장 처음 만드는 안드로이드 프로그램 
    3.1 Hello World!를 만들자 
    3.2 표시할 문자를 변경한다 
    3.3 덧셈 결과를 표시한다 
    3.4 3의 배수에만 특별한 문구를 표시한다 
    3.5 1~100까지 더한 값을 구한다 
    3.6 같은 처리를 모아보자  
    3.7 프로그래밍의 오류 발견 및 수정 


4장 디버깅을 해보자 
    4.1 버그란? 
    4.2 실행할 수 없는 버그 
    4.3 실행 중에 일어나는 버그 
    4.4 변수의 내용을 추적한다 
    4.5 로그를 가져온다 
    4.6 예외 처리 
    4.7 메모리와 CPU 사용률


5장 채팅 앱을 만들자
    5.1 화면을 만든다 
    5.2 버튼을 눌러보자 
    5.3 입력된 내용에 따라 처리를 바꾼다 
    5.4 시각을 표시한다 
    5.5 화면 항목을 프로그램으로 추가한다 
    5.6 애니메이션을 추가한다 


6장 앱을 개량하자
    6.1 아이콘을 변경한다 
    6.2 앱 본체의 디자인을 변경한다 
    6.3 메시지 배경을 말풍선처럼 만들자 
    6.4 간격을 설정한다 
    6.5 글자색을 변경한다 
    6.6 태블릿에서 실행할 때 디자인을 확인한다 
    6.7 화면 폭에 따라 레이아웃을 전환한다 
    6.8 한국어와 영어를 지원한다 
    6.9 음성 입력 기능을 추가한다 


7장 벽돌깨기 게임을 만들자 
    7.1 도형을 그린다 
    7.2 조작에 따라 도형을 바꿔 그린다 
    7.3 복수의 블록을 추가한다 
    7.4 탭에 반응해서 패드를 움직인다 
    7.5 공을 움직인다 
    7.6 공이 패드와 블록에 닿았을 때의 처리를 추가한다 
    7.7 클리어 화면을 만든다 
    7.8 가로 화면 모드를 지원한다 
    7.9 효과음을 추가한다 
    7.10 진동시킨다 
    7.11 설정 화면을 만든다 
    7.12 값을 저장한다 
    7.13 다른 앱과 연계한다 


8장 앱을 공개하자 
    8.1 서명된 설치 패키지를 만든다 
    8.2 Google Play에서 공개한다 
    8.3 버전 번호를 관리한다 
    8.4 공개된 앱의 정보를 분석한다

흥미로운 예제를 직접 제작하면서, 

단계별로 안드로이드 프로그래밍에 필요한 구조와 다양한 기능들을 적제적소에 활용하는 방법을 익히는데 큰 도움이 되었습니다.

이 책은 모바일 시대 가장 큰 점유율을 갖고 있는 안드로이드 OS의 앱을 만들기 위한 기초를 안내하는 책이다. 다른 책은 대부분 안드로이드나 모바일의 역사 그리고 개발 환경 설정이 1장이 된다.
책의 독특함은 바로 1장부터 시작된다.
가장 첫 내용이 프로그래밍의 즐거움이라니...

1장 앱 개발을 시작하기 전에
아래의 구절로 이 책의 어떤 책이고, 어떻게 진행될지를 가늠해 볼 수 있었다.


이 책에서는 완성된 앱을 한 번에 만들지 않고 조금씩 개량하면서 앱을 성장시킵니다. 그래서 조금씩 변경하는 내용을 확인해 봄으로써 어떤 일이 일어나는지 1대1로 알 수 있게 구성했습니다. (p15 중에서)



뒤에 자세히 이야기하겠지만 정말 다른 일반 책들과 다르다.
보통 안드로이드 책이면, 위젯과 뷰, 레이아웃, 액티비티, 프레그먼트, 뷰 등의 Life Cycle을 먼저 언급할 테지만 정말 지금 만드는데 필요한 것만 언급하고 진행해가면서 설명한다.

2장 개발 환경 설정
오래된 책들은 Eclipse에 ADT 설치하는 부분도 언급되겠지만, 제목답게 JDK 설치, 안드로이드 스튜디오 설치, 개발용으로 앱을 실행할 스마트폰의 개발자 모드 활성화, 안드로이드 폰이 없는 경우를 위한 에뮬레이터 사용법만으로 간단히 끝난다.

3장 처음 만드는 안드로이드 프로그램
첫 시작은 안드로이드 스튜디오 설치하고 선택만으로 바로 만들어주는 Hello World!로 표시해주는 프로그램을 Hello New World!!로 바꾸는 쉬운 첫 변형으로 시작하고, 이를 바탕으로 출력되는 부분에 대한 변형으로 덧셈 계산하는 것을 추가한다.
일부러 오류를 내면서, 어떻게 오류를 수정하는지 알려주기 시작한다.

4장 디버깅을 해보자
보통 디버깅은 마지막에 다루는데, 다소 빠른 타이밍에, 기본 프로그램을 소개 한 후 바로 디버깅에 대한 내용을 상당 부분 할애하였다.
간단한 코드 오류부터 시작해서 안드로이드 스튜디오에서의 디버거 사용법, Watches 사용법 등을 실습하고, 전통적으로 많이 사용되는 로그을 출력하는 법, logcat을 사용하는 법과 예외 처리에 대해서도 언급한다.
메모리와 CPU 사용률 확인하는 방법까지 소개하고, 초보자들이 자주 발생시키고, 만나게 되는 R 오류에 대한 대처법이 잘 정리되어 있다.
앞에서 언급했듯이 이 책은 조금씩 개량하면서 앱을 성장시키고자 하고, 오류 등에 대한 해결 능력 또한 중요하게 생각하기 때문에 앞에 힘을 주어 설명하는 느낌이었다.

5장 채팅앱을 만들자
네트워크 통신을 하는 진짜 채팅 앱은 아니지만 사용자가 입력하는 내용을 보고 앱이 응답하는 것처럼 보이는 (심심이 같은) 앱을 만든다.
앞서 단순히 생성된 TextView가 어떻게 보이는지만 확인했지만, 이제 직접 design을 통해 레이아웃을 디자인하게 되고, 각각의 properties에 대한 설명과 설정하는 법을 배운다.
그리고 이러한 과정으로 생성된 레이아웃의 xml을 통한 추가적인 설명이 이어진다.

안드로이드 개발 서적으로는 가장 늦게 View에 설명하는 듯하지만, 이제야 View에 대한 설명이 이루어지면서, Click을 처리하기 위한 OnClickListener도 언급한다.

앞에 이야기한 응답을 구현하기 위한 특정 키워드 시간에 대한 응답, 특정 키워드 행운에 대한 랜덤 값에 대한 응답 등 안드로이드만의 특성과는 관계없는 Java 코드들이 진행된다.
(예를 들어 안녕, 피곤, 운세, 시간 등 특정 문자열이 포함되어있다면 지정된 응답을 출력하도록 만든다.)
컴퓨터의 응답이 보여질때 TranslateAnimation 추가하여 좀더 부드럽게 만들면서 채팅앱은 마무리된다.

6장 앱을 개량하자.
노골적으로 기존 앱을 개량하자고 하는 부분이다.
Asset Studio를 이용해서 기본으로 만들어지는 안드로이드 아이콘 말고 다른 아이콘으로 변경하는 법과 아이콘을 새롭게 추가함에 따라 필수로 알아야 할 dpi 개념을 설명한다.

이미지 리소스를 추가하여 개선하는 것이 아니라 안드로이드가 지원하는 다양한 drawable 중 shape 을 이용하여 디자인을 개선하고, 여백과 글자색 등을 바꾼다.
스마트폰에 비해 화면이 큰 태블릿, 패블릿에서도 좋은 디자인으로 보이는 방법(여백제거)도 소개된다.

소스나 레이아웃 내에 고정적으로 있었던 텍스트들을 리소스에 strings.xml에 등록하여, 안드로이드가 다국어 지원을 이용하는 법을 소개한다.
추가적으로 음성으로 입력받기 위해 Intent를 이용하여 음성인식할 수 있는 외부 앱을 호출하여 결과를 받아서 사용하는 법을 알려주고 있다.
음성지원을 위해서 외부 앱에서 결과를 받아 와서 처리하는 로직이 추가되어야 하는데, 추가적으로 기존 로직과 중복되므로 이를 리팩토링해서 같이 쓸 수 있도록 수정하는 법을 안내한다.

7장 벽돌깨기 게임을 만들자
흔히 알카노이드로 알고 있는 벽돌깨기 게임을 만들기 시작한다.
앞에서 언급한 내용만으로는 쉽지 않아 보였지만 화면에 표시하기 위해, canvas에 도형을 그리는 것, 사용자의 터치에 따른 처리, UI Thread와 별도로 Thread에 대한 설명이 순서대로 이어진다.

차근차근 우리가 벽돌깨기 게임을 만든다고 생각했을 때 중요하다고 한 순서대로 벽돌깨기에 관련된 벽돌 그리기, 움직이기 위한 패드 그리기, 공 그리기 등이 진행된다.
핵심적인 공의 움직임 처리, 벽돌의 없어짐, 점수 처리 및 게임을 클리어했을 때 표시될 새로운 액티비티를 생성하고(책이 거의 끝나는 지점에서야 액티비티가 하나 더 생긴다!), 해당 액티비티로 이동하는 부분을 설명하면서 Context를 설명한다.
그리고 Thread끼리의 메시지를 주고받기 위한 방법으로 Handler를 소개한다.

또한 폰의 가로 화면 모드 전환에 따라서 이를 지원하는 부분까지 설명하고, 좀 더 게임처럼 만들기 위해 효과음까지 추가합니다.
이어 진동까지 지원하면서 처음으로 퍼미션에 대한 설명을 한다.
퍼미션에 대한 설명이 책의 거의 끝에 나올 만큼 이 책은 개발이 진행되는 부분에 필요한 부분만 설명을 함을 알 수 있다.
설정을 추가하고, 스코어의 저장을 위해 SharedPreference를 사용하며 설명한다.
외부 앱에 공유를 위해 암묵적 INTENT를 이용하는 부분으로 벽돌깨기 게임은 마무리된다.

8장 앱을 공개하자
앞서 개발한 앱을 마켓에 올려서 다른 사람들도 이용할 수 있도록 하는 부분을 설명하고 있다.
이 부분은 항상 화면과 내용, 정책 등이 바뀌고 있으니 구글 플레이 스토어의 안내를 따르면 될 것이다.

이 책은 놀라운 부분은 마지막 A장 남은 과제이다.
부록 A. 예제 앱의 기능을 추가한다.
부록 B. 학습하다가 막혔을 때
저자도 해당 책으로는 완전히 안드로이드 앱 개발을 다 알기는 어렵다는 것을 알기에 짧지만 추가한 부분인 것 같은데, 앞서 만든 채팅앱과 블록깨기 게임을 어느 부분을 개선하면서 공부를 해야 할지에 대한 과제가 있어서 혼자 공부하는 분들에게 좋은 목표가 될 것이다.

결론
해당 책은 상당히 좋은 안드로이드 개발 입문서라고 생각한다. 다만, 완전히 개발 지식이 없는 초보자가 보기는 어렵다. 기본적으로 자바는 알고 보는 것이 어울리는 책인데, 중간에 책의 정갈함을 해치는 Java의 기초 부분까지 설명하는 부분이 있어서 어차피 해당 설명은 Java도 모르는 분들에게는 부족하고, 알고 있는 사람들에게는 사족이 되는 부분이라 아쉬웠다.
Java나 다른 프로그래밍언어를 다루어본 경험이 있는 분들이 안드로이드 앱 개발을 시작하고자 하는 첫 책으로 본 책을 추천한다. 이 책을 보고 난후에는 이제 자신이 뭘 모르고, 뭘 더 배워야 하는지는 알 수 있을 것이다.

2015년 6월 구글은 2015년 말까지 이클립스 안드로이드 개발자툴 지원을 끝낼 계획이라 발표하였다.

이런 구글의 행보는 2013년 공개된 구글의 안드로이드 스튜디오가 안정화 되었기 때문에 개발자들이 안드로이드 스튜디오에서 개발하기에 무리가 없을 것이라 판단하였고, 차후 관련 리소스들을 안드로이드 스튜디오라는 IDE에 집중하기 위한 것으로 해석된다.

이런 흐름에 맞춰 2015년 후반, 2016년 부터 출간된 안드로이드 개발 관련 도서들은 상당수가 "안드로이드 스튜디오"를 주 IDE로 사용하여 출간되고 있다. 2014, 2015년에는 이클립스와 안드로이드 두개의 IDE를 가지고 쓰여진 안드로이드 개발 책이 많았지만 구글의 변화에 따라 출판된 책들도 변화를 꾀하고 있는 것이다.

구글 도서검색에서 찾아본 결과 (한국에서 출간된 책 중) 이클립스와 안드로이드 스튜디오를 병행사용하지 않고, 안드로이드 스튜디오만을 사용해 쓰여진 안드로이드 개발서적은 한빛미디어의 "초보자를 위한 안드로이드 스튜디오"가 유일한 것 같다.(검색에 큰 노력을 들이진 않았기 때문에 확실친 않다.)
이런 유일성이 이책의 강점으로 판단된다.

아쉬운점은 이 책의 제목에 "초보자를 위한"이라는 수식어가 들어갔다는 점이다.

지은이가 서문에서 밝히길 "이 책은 프로그래밍을 시작하는 사람이 안드로이드 앱 제작 과정을 통해 프로그래밍의 기초를 배우고 즐거움을 느끼는 것을 목표로 하고 있습니다. 이 책은 프로그래밍에 관한 사전 지식이 필요 없습니다. 이 책을 통해 프로그래밍의 기본 사고방식과 즐거움을 체험해 보십시오." 라곤 했지만, 옮긴이(번역자)의 서문 내용처럼 "기초가 되는 자바 문법에 관한 설명이 부족하다는 것"과 OS관련 지식 등의 컴퓨터 사이언스 관련 기초 지식이 없는 초보자라면 이 책의 내용을 전부 흡수할 수 없기 때문에 아쉬웠다. 이 글을 쓰고있는 내 자신이 그런 초보자이기에 아쉬움이 더욱 컸다. (이런 부족함을 출판사(한빛미디어) 측에서도 알고 홍보물에 같이 읽으면 좋은 책들로 자바입문서 2권을 추천해 놓았다.)

하지만, 이런 단점에도 불구하고 채팅어플리케이션과 벽돌깨기 어플리케이션을 만드는데 진행상 막히는 부분은 없었다. 책이 친절하게 쓰여졌기 때문이다(후반부로 갈수록 이런 친절함은 점점 사라지긴 했다...). 코드오류같은 것들이 있었지만, 인텔리J의 친절함과 구글신의 도움, 업로드된 예제소스의 도움으로 해결했다. 다만 걱정되는것은 진짜 아무것도 모르고 프로그래밍을 갖 배우기 시작한 초보자가 이 책의 제목만을 보고 이 책으로 코딩을 시작했다면 중간에 때려치지 않았을까라는 걱정은 들었다. 진짜 초보자라면, 자바입문서를 끝낸 후 이 책을 실습해보길 추천한다.

나의경우는 학부전공이 경영학이기 때문에 (프로그래밍 수업을 듣긴 했지만) 기본기가 상당히 부족하다. 이 책을 읽고 난 후 OOP 기본기를 다지고자 하는 동기가 강하게 부여된 것이 개인적인 이득이라고 생각된다.

대학교에서 3학점짜리 OOP수업을 들은 저학년 학생이라면, 이 책을 참고하여 벽돌깨기 게임 어플리케이션을 만들어 마켓에 올리는것을 개인 프로젝트로 추천한다. 수업에서 배운 객체지향프로그래밍 개념들을 실제 게임개발에 써볼 수 있는 기회가 될 것이다.

개요

대상 독자

머리말 중

”이 책은 프로그래밍에 관한 사전 지식이 필요 없습니다.
이 책을 통해 프로그래밍의 기본 사고 방식과 즐거움을 체험해보십시오.”

무슨 말이 더 필요 한가?
말은 좀 다르지만 나처럼 개발 자체를 모르는 사람이 보면 된다고 저자가 소개 하고 있다.



니가 왜? 이 책을…

사실 내가 굳이 봐야 할 책은 아니긴 한데…;;;;
교양 차원에서 한번 해보고 싶었다.

20년전 사용하던 매킨토시에서 C 공부를 하기(아니 한번만 실행 해보기) 위해 ”코드워리어” 라는 IDE를 설치 했다.
도스 환경의 turbo-C 에서는 코딩후 펑션키만 누르면 곧바로 컴파일 한뒤 결과를 보여줬는데
헐… 이건 IDE를 설정하고 사용 하는 방법 부터 익혀야 했던 것이다;;;;;;

당시에는 이걸 사용하는 사람도 거의 없었고(물론 내 주변에는.. ) 참고할 만한 메뉴얼도 구하지 못한 상태여서 아주 그냥 GE고생을 했던 기억이 떠올랐기 때문일 수 도 있다.

내 인생에 있어서 ”Hello World”를 출력 할 때 가장 많은 시간과 노력이 들어갔던 기억이었던것 같다…





장점

1. 입문자에게 맞는 설명 방식

하나의 예제를 놓고
예제에 사용된 코드를 하나 하나 설명을 해주는 방식

주 내용이 ”함수 소개”가 아니라..
예제 코드 하나를 놓고서,
예제에 사용된 그리고 수정하는 과정에서 함수를 소개 하고 있다.



2. 많은 것을 만들지는 않음

제목대로의 취지와 같이 많은 예제가 필요하지는 않다.
물론 내용중 70% 가량이 예제를 통해 프로그래밍을 학습하는 형태로 되어 있지만..
하나의 프로그램(모듈)에서 약간씩 수정 하는 형태이고
수정 과정을 통해 함수등의 사용법을 익히도록 하는 구성 이다.

허나 ”안드로이드 스튜디오” 사용법 비중이 코딩에 비해서 너무 적다는 것은 아쉬운 점이다.


3. 구글플레이 스토어 등록법 안내

구글플레이에 계정을 등록후 앱을 등록하는 방법을 비교적 자세히 안내 하고 있다.





단점



1. 이 책은 ”컬러” 판 이어야 했다.

코딩오류 발생 시 색상의 변화
”XXX 위치 에 코드를 추가 하세요”의 설명

책 특성상 ”전체코드”에 속하는 내용중 ”일부코드”를 발췌해서 설명을 해줘야 하는데

숙련자가 아니라면, 아마도 책 내용을 앞/뒤로 오가야 하는 상황이고
– 수정 내용이 추가될 부분이 여기인가?
– 제대로 하고 있는 것인가?

하는 특이 사항이 있기 때문에

코드 및 창에 대한 컬러 편집을 통해
필자에 의해 수정된 부분(즉 학습자가 추가해야 하는 부분)을 색상 구분을 해준다거나
동시에 수정된 부분임을 ”주석”으로 안내

해줬으면, 나와 같은 입문자 에게도 아주 많은 도움이 되었을 것 같다.



2. 버전 관리

본인의 경우 업무상 필요한 항목을 아주 가끔씩 단일 파일로 만들어 쓰는 수준이라 별 필요가 없지만..
같이 일하는 개발자들은 코드를 수시로 수정하고 업데이트를 해야 하는 업무적 특성상
Git과 같은 버전관리 툴을 사용하고 있다.

최근 주목받는 Git 은 안드로이드 스튜디오에도 기본 포함 되어 있는 기능 이기 때문에
Git 연동에 대한 세부적인 설명을 해줬다면 아주 좋았을 것 같다.



3. ”R” 에러

조금 따라 하다 보니
일명 ”R”에러가 발생
실수에 의해 발생할 수 있고, 코딩 실수가 없더라도 환경에 따라서 발생할 가능성이 있는 에러이기 때문에
이 책에서 ”R에러 발생시 해결법” 등으로 한번 소개를 했으면 어땠을까 한다.

아마도 이 책을 보는 사람 대부분은 ”입문자”의 입장이고
이러한 에러가 발생하게 되면, 책을 통해 제대로 배우기 이전에 에러 해결을 위해 상당한 시간을 할애 해야 할 수 있기 때문이다.

안드로이드 스튜디오를 기초로 다루는 책이니 만큼 하나의 챕터로서 내용을 만들어도 전혀 아깝지 않은 것이라는 생각이 든다.

본인의 실수이긴 하지만 ”R”에러를 직접 겪으면서 문제를 찾다 보니,
같은 질문을 올리고 어려움을 호소했던 사람들 대부분이 나처럼 아무것도 모르는 상황은 분명 아니었던 것 같다.

선무당이 사람 잡는다고, 따라 하는 도중 뭔가 개인적인 의견을 삽입했다가 사단이 난 경우 였다.



마무리

개발 자체가 나와는 거리가 먼 상황이라… 리뷰에 애를 좀 먹었다. ㅋ
과연 내가 이런 도서를 리뷰를 할 만한 깜이 되는건가? 하는 생각도 들었고…

책의 내용을 먼저 봤을때는 설명이 나름 쉽게 되어 있다고 생각 했는데
막상 코딩하면서 다시 보니.. 사실 상당수는 이해를 못한 부분도 있었다.

아마도 절실하게 이걸 배워야 하는 상황이 아니라서 그랬는지..
나이가 많아서 돌아 서면 잊었기 때문 인지는 모르겠지만… ;

내 개인적인 생각이긴 한데…
일본서(번역)의 경우 대체로 설명이 친절하고.. 비교적 자세한 경우가 많다.

이 책 역시 마찬가지…

그래도.. 제목 처럼 ”안드로이드 스튜디오”에 좀더 포커스를 맞췄다면 하는 아쉬움은 남는다.

저는 프로그래밍에 취미를 가지고 있는 일반 회사원입니다. 안드로이드 개발 경험은 없으나, 이 책을 통해 안드로이드 개발 환경을 처음 접할 수 있었습니다.

이 책은 안드로이드 초보자를 위한 서적입니다.

초보자를 위한 프로그래밍 서적은 초반부의 난이도가 중요한데, 그런 점에서 이 책은 초보자를 위한 난이도 조절에 성공한 것으로 보입니다. 안드로이드 개발 환경 설정부터 Hello World 앱을 만들기 까지 막힘이 전혀 없었습니다. 많은 그림과 자세한 설명은 프로그래밍을 처음 접하는 독자도 충분히 따라갈 수 있었습니다. 집중해서 본다면 주말 하루만에도 책 내용의 절반 이상을 따라갈 수 있었습니다.

이 책은 크게 채팅 앱 만들기와 벽돌깨기 게임 만들기로 나눌 수 있습니다.

보통 채팅 앱은 클라이언트는 물론 서버 및 데이터베이스 등 다룰 주제가 많지만, 이 책은 과감히 클라이언트로 그 주제를 한정하여 소개함으로써 난이도 조절에 성공했다고 생각합니다. 즉 초보자로서 책 내용을 이해하는데 무리가 없었습니다.

벽돌깨기 게임 만들기로 내용이 진행되면서 난이도가 조금 올라갔습니다. 애초에 게임을 만들기 위해서는 사전에 많은 지식이 필요함은 물론, 다양한 추가 모듈이 사용될 수 있기 때문에 초보자에게는 버거운 작업입니다. 이 책에서는 벽돌깨기 게임 만들기에 필요한 기본 원리와 핵심 기능을 설명하는데 초점을 두었습니다. 따라서 별도의 특별한 지식이 없어도 책에서 제시하는 대로 하나씩 프로그램을 작성하다보면 벽돌깨기 게임을 만들 수 있었습니다.

이 책을 읽은 후 "보다 완성도 높은 앱을 만들기 위해서 공부할 것이 많구나"라는 생각을 하게 되었습니다. 이 책을 통해 안드로이드 개발의 전반적인 흐름을 경험했기 때문에, 어떤 것을 더 공부해야 하는지 대략적인 계획을 세울 수 있었습니다. 그러한 점에서 이 책은 저같이 안드로이드 앱 개발에 처음 도전하는 초보자에게 적합한 책이 아닌가 생각합니다.

Disclaimer: 먼저 한빛 리더스에 선정해 되었고, 의무적으로 해야만 하는 리뷰이지만,
최대한 공정하고 객관적으로 그리고 능동적으로 리뷰를 진행하겠습니다.
책을 무료로 배송 받긴 하였지만, 저는 필자와 출판사쪽과는 아무 커넥션이
없음을 알려 드립니다.

Background:
먼저 전공은 Computer Science 학사,
필드에서 일을 한지는 6년차,
학부때 코딩 경험까지 포함하면 12년 정도이며,
현재는 기술 기반 스타트업을 운영하고 있습니다.
필드에서 프리랜서 혹은 A.A. 정도의 role 을 수행하였음을 밝혀 둡니다.
저는 이 책이 타겟으로 삼는 독자 레벨이 아님을 밝혀 둡니다. 다만 그렇기 때문에
newbie 의 입장에서 보다 깊은 리뷰를 할 수 있다고 생각합니다.

Pros:
-이 책은 모던 Android 개발 환경에 맞춰져 있습니다..
요즘 Android 개발 환경은 이클립스에서 Android Studio 넘어가고 있기 때문에
처음 배우는 newbie 의 입장에서는 환영할 만한 요소라고 생각합니다.

-정말 친절하고 자세하게 설명이 되어있습니다.(자세한 설명은 일본 서적의 특징이라고 하더군요.)
프로그래밍은 수학과 같아서 알면 쉽지만 알기전에는, 도무지 이해하기 어려운 학습곡선을
지니고 있습니다. 이해하지 못하면 통채로 암기를 하고 넘어가곤 하는데 이 책은 원리 위주로
차근 차근 밟아 나가고 있어서 분명 친절한 학습 곡선을 가지고 있습니다.

-예제의 수준이 newbie 에게 잘 맞춰져 있습니다.
채팅앱이나 벽돌깨기 같은 예제는 어렵게 들어가면 한없이 어려워지는데,
설명에 필요한 쉬운 부분에 포커싱을 해서 설명이 어려워지지 않고 잘 따라올 수 있게 구성했다는 것을 알 수 있습니다.
그에 대한 설명이나 양해를 구하는 부분도 인상깊었습니다.

-플레이 스토어에 배포하는 부분까지 잘 설명이 이루어져 있어 이대로 따라하면 충분히 앱을 등록 할 수 있습니다.

-이책에 대해
실무를 들어가기 전에 예방접종을 맞는 다는 느낌으로 한번 쭉 따라해보면 newbie 들에게 자신감을 줄 수 있는
구성방식을 가지고 있는 책이 아닌가 생각됩니다.

Cons:
-newbie 를 위한 책임을 충분히 인지하고 있지만 고급 주제가 없습니다.
먼저 밝혀 둔것과 같이 저는 이 책을 거의 끝까지 읽었음에도 이해가 안가거나 모르는 개념을 만나지 못했습니다.
이 점은 장점이자 단점일 수 있는데, 아마 newbie 를 위한 책 중에서 이보다 더 쉬운 책은 없지 않나 싶을 정도로 기초적이고,
고급 주제가 없습니다.

-레퍼런스북이 아니다보니, 이 책만으로 무언가를 하기는 어렵습니다.
한번 읽고 이해하게 되면, 다시 봐야 하는 그런책이 아니기 때문에 다른 레퍼런스류의 책들이 필요하게 됩니다.

-고급주제가 전혀 없고, 3rd party 라이브러리에 대한 소개도 없습니다.
Dagger, Butterknife, Retrofit 라든지, RxJava 라든지에 대한 소개정도는 있으면 좋지 않았나 하는 생각이 듭니다.
kotlin 에 대한 관심이 뜨거운데 이 부분도 아쉽습니다.

리뷰의 마지막으로
newbie 입장에서는 정말 잘 쓰여진 책입니다.
Android 개발이 이게 전부는 아님을 알려드리며 이 리뷰가 이 책을 선택하는데 도움의 되길 바랍니다.
좀 더 고급주제의 책도 출간이 되면 좋겠다는 바람을 전하며, 리뷰를 마치겠습니다.

결제하기
• 문화비 소득공제 가능
• 배송료 : 2,000원배송료란?

배송료 안내

  • 20,000원 이상 구매시 도서 배송 무료
  • 브론즈, 실버, 골드회원이 주문하신 경우 무료배송

무료배송 상품을 포함하여 주문하신 경우에는 구매금액에 관계없이 무료로 배송해 드립니다.

닫기

리뷰쓰기

닫기
* 도서명 :
초보자를 위한 안드로이드 스튜디오 : Hello World부터 채팅 앱과 벽돌깨기 게임까지
* 제목 :
* 별점평가
* 내용 :

* 리뷰 작성시 유의사항

글이나 이미지/사진 저작권 등 다른 사람의 권리를 침해하거나 명예를 훼손하는 게시물은 이용약관 및 관련법률에 의해 제재를 받을 수 있습니다.

1. 특히 뉴스/언론사 기사를 전문 또는 부분적으로 '허락없이' 갖고 와서는 안됩니다 (출처를 밝히는 경우에도 안됨).
2. 저작권자의 허락을 받지 않은 콘텐츠의 무단 사용은 저작권자의 권리를 침해하는 행위로, 이에 대한 법적 책임을 지게 될 수 있습니다.

오탈자 등록

닫기
* 도서명 :
초보자를 위한 안드로이드 스튜디오 : Hello World부터 채팅 앱과 벽돌깨기 게임까지
* 구분 :
* 상품 버전
종이책 PDF ePub
* 페이지 :
* 위치정보 :
* 내용 :

도서 인증

닫기
도서명*
초보자를 위한 안드로이드 스튜디오 : Hello World부터 채팅 앱과 벽돌깨기 게임까지
구입처*
구입일*
부가기호*
부가기호 안내

* 온라인 또는 오프라인 서점에서 구입한 도서를 인증하면 마일리지 500점을 드립니다.

* 도서인증은 일 3권, 월 10권, 년 50권으로 제한되며 절판도서, eBook 등 일부 도서는 인증이 제한됩니다.

* 구입하지 않고, 허위로 도서 인증을 한 것으로 판단되면 웹사이트 이용이 제한될 수 있습니다.

닫기

해당 상품을 장바구니에 담았습니다.이미 장바구니에 추가된 상품입니다.
장바구니로 이동하시겠습니까?

자료실