안드로이드 개발 환경은 빠르게 변화하고 있고, 이를 대응하기 위해서는 탄탄한 기본기가 필요합니다. 이 책은 안드로이드를 처음 접하는 독자들을 위해 기본 개념부터 설명하고, 쉽게 따라하면서 안드로이드 앱을 개발할 수 있는 실력을 키울 수 있도록 구성하였습니다. 초급 개발자의 눈높이에 맞춘 『나의 첫 안드로이드』를 만나보세요. 현재 가장 최신 버전인 안드로이드 8.1 오레오(Oreo) 버전을 기반으로 하고 있으며, 실습은 안드로이드 스튜디오 3.X에서 진행합니다.
[어떤 독자를 위한 책인가?] -. 막 자바 문법을 떼고, 안드로이드에 입문하는 초급 개발자 -. 이전에 안드로이드를 공부했으나 난이도가 높아서 학습을 포기하고 다시 쉬운 입문서로 안드로이드를 배워보고자 하는 입문자 -. Java 혹은 다른 프로그래밍 언어를 배워본 적은 있지만, 안드로이드는 처음인 개발자
저자소개
저자 : 한동호 저자 한동호
2003년에 AXA 자동차보험에서 자바 개발자로 시작하여 다음, ING 생명, 네이버에서 다양한 개발 프로젝트를 담당하였으며, 사내에서 자바 및 안드로이드 등의 강의를 진행하였습니다.
현재는 기업이나 학교 또는 교육 기관에서 자바, 안드로이드, Node.js 등 다양한 강의와 기술 창업 컨설팅을 진행하고 있으며, IT 개발 회사도 운영하고 있습니다.
[집필]
『Node.js와 오픈소스를 활용한 안드로이드 서비스 개발』(제이펍)
『200개의 단계별 예제로 배우는 안드로이드 4.0』(제이펍)
『단계별 예제로 배우는 안드로이드 프로그래밍』(제이펍)
『SPEED JAVA : 효율적인 코드 작성을 위한 자바 개발자 가이드』(엠플래닝)
[번역]
『자바 프로그래밍 언어』(케이앤피 IT)
『핵심만 골라 배우는 스마트 폰 웹 개발』(제이펍)
목차
Chapter 1. 안드로이드 이해와 개발 환경 __1.1 안드로이드 개념 __1.2 안드로이드 구성 요소 __1.3 안드로이드 버전 __1.4 안드로이드 개발 환경 __1.5 안드로이드를 배우면 할 수 있는 일
Chapter 2. 안드로이드 스튜디오 설치 및 프로젝트 생성 __2.1 안드로이드 스튜디오 설치 __2.2 첫 번째 프로젝트 생성 __2.3 안드로이드 스튜디오의 화면 구성 __2.4 안드로이드 스튜디오의 작업 ____2.4.1 개발 화면 ____2.4.2 레이아웃 화면 __2.5 프로젝트 구성 요소의 이해 ____2.5.1 manifests ____2.5.2 java ____2.5.3 res ____2.5.4 Gradle Scripts __2.6 프로젝트 소스 코드의 이해 ____2.6.1 MainActivity.java ____2.6.2 activity_main.xml __2.7 안드로이드 가상 기기 생성 __2.8 첫 번째 프로젝트 실행
Chapter 3. 안드로이드 기초 __3.1 안드로이드 사용자 인터페이스 __3.2 레이아웃 XML의 위젯 접근 방법 __3.3 로그 추가하는 방법 __3.4 에러 확인하는 방법 ____3.4.1 컴파일 에러 확인 방법 ____3.4.2 런타임 에러 확인 방법 __3.5 코드 작성 요령 ____3.5.1 자동 완성 기능 ____3.5.2 정렬 기능 ____3.5.3 임포트 기능 ____3.5.4 자동 임포트 설정
Chapter 4. 액티비티 살펴보기 __4.1 액티비티 개요 __4.2 액티비티 생성 __4.3 액티비티 실행 __4.4 액티비티 종료 __4.5 액티비티 상태 __4.6 액티비티 생명주기
Chapter 5. 안드로이드 기본 위젯 살펴보기 __5.1 위젯 소개 및 종류 __5.2 텍스트뷰 __5.3 에디트텍스트 __5.4 버튼 __5.5 이미지뷰 __5.6 이미지버튼 __5.7 체크박스 __5.8 토글버튼 __5.9 스위치 __5.10 라디오버튼 __5.11 프로그레스바 ____5.11.1 원형 모양 - 기본 형태 ____5.11.2 직선 모양 __5.12 시크바 __5.13 레이팅바 __5.14 스피너 __5.15 데이트피커 ____5.15.1 기본 형태 ____5.15.2 다이얼로그 형태 __5.16 타임피커 ____5.16.1 기본 형태 ____5.16.2 다이얼로그 형태 __5.17 툴바 [도전! 프로젝트 01] [도전! 프로젝트 02] [도전! 프로젝트 03]
Chapter 6. 안드로이드 레이아웃 살펴보기 __6.1 레이아웃 종류 __6.2. 프레임 레이아웃 __6.3 리니어 레이아웃 ____6.3.1 위젯을 수평 방향으로 배치 ____6.3.2 위젯에 가중치를 설정 __6.4 렐러티브 레이아웃 __6.5 테이블 레이아웃 __6.6 컨스트레인트 레이아웃 ____6.6.1 위젯 기본 설정 ____6.6.2 위젯 정렬 [도전! 프로젝트 04] [도전! 프로젝트 05]
Chapter 7. 안드로이드 뷰 컨테이너 살펴보기 __7.1 뷰 컨테이너 종류 __7.2 스크롤뷰 __7.3 수평 스크롤뷰 __7.4 라디오그룹 __7.5 카드뷰 __7.6 리사이클러뷰 __7.7 리사이클러뷰 예제 프로젝트 ____7.7.1 프로젝트 생성 ____7.7.2 소스 코드 작성 [도전! 프로젝트 06]
Chapter 8. 프래그먼트 살펴보기 __8.1 프래그먼트 개요 __8.2 프래그먼트 작성 ____8.2.1 프래그먼트에 데이터를 전달하는 방법 __8.3 프래그먼트 추가 방법 ____8.3.1 레이아웃 파일에서 프래그먼트를 추가하는 방법 ____8.3.2 자바 코드에서 프래그먼트를 추가하는 방법 __8.4 프래그먼트 생명주기 [도전! 프로젝트 07]
Chapter 9. 알림 기능 살펴보기 __9.1 알림 기능 종류 __9.2 토스트 __9.3 스낵바 __9.4 다이얼로그 [도전! 프로젝트 08]
Chapter 10. 인텐트와 액티비티 살펴보기 __10.1 인텐트의 이해 __10.2 인텐트 활용 예시 ____10.2.1 전화 걸기 ____10.2.2 구글 검색 ____10.2.3 구글 맵(서울 검색) ____10.2.4 구글 맵(위도, 경도) ____10.2.5 구글 맵(위도, 경도, 확대축소) ____10.2.6 주소록 ____10.2.7 오디오 실행(SD카드 MP3) ____10.2.8 비디오 실행(SD카드 파일) ____10.2.9 이미지 보기(SD카드 파일) ____10.2.10 브라우저 실행 ____10.2.11 이메일 보내기 ____10.2.12 이메일 보내기(여러 명의 수신자와 참조) ____10.2.13 이메일 보내기(첨부) ____10.2.14 SMS 보내기 __10.3 전화 걸기 화면 실행 __10.4 다른 액티비티 실행 __10.5. 다른 액티비티에 데이터 전달 __10.6 액티비티 처리 결과 수신 [도전! 프로젝트 09]
Chapter 11. 템플릿을 활용한 프로젝트 생성하기 __11.1 기본 프로젝트 ____11.1.1 프로젝트 생성 ____11.1.2 프로젝트 레이아웃 설명 ____11.1.3 프로젝트 자바코드 설명 __11.2 하단 네비게이션 프로젝트 ____11.2.1 프로젝트 생성 ____11.2.2 프로젝트 레이아웃 설명 ____11.2.3 프로젝트 자바코드 설명 ____11.2.4 프로젝트 기능 추가 __11.3 네비게이션 드로어 프로젝트 ____11.3.1 프로젝트 생성 ____11.3.2 프로젝트 레이아웃 설명 ____11.3.3 프로젝트 자바코드 설명 ____11.3.4 프로젝트 기능 추가 __11.4 구글맵 프로젝트 ____11.4.1 프로젝트 생성 ____11.4.2 구글 플레이 서비스 SDK 설치 ____11.4.3 구글맵 API 키 생성 및 설정 ____11.4.4 프로젝트 레이아웃 설명 ____11.4.5 프로젝트 자바코드 설명 ____11.4.6 프로젝트 매니페스트 설명 ____11.4.7 안드로이드 가상 기기에 프로젝트 설치 ____11.4.8 프로젝트 기능 추가
Chapter 12. 개발 첫걸음 : 단순 앱 만들기 __12.1 계산기 앱 개발 ____12.1.1 프로젝트 레이아웃 ____12.1.2 프로젝트 자바 코드 __12.2 메모 앱 개발 ____12.2.1 프로젝트 레이아웃 ____12.2.2 프로젝트 리소스 ____12.2.3 프로젝트 자바 코드 ____12.2.4 프로젝트 매니페스트
Appendix A. Tip & Tech __A.1 추가로 학습해야 할 사항 __A.2 초보자가 자주 접하는 안드로이드 문제 해결 방법 ____A.2.1 NullPointerException 문제 해결 ____A.2.2 토스트가 화면에 보이지 않는 문제 ____A.2.3 build.gradle의 라이브러리 최신 버전으로 설정하는 방법 ____A.2.4 액티비티를 찾지 못해 발생하는 ActivityNotFoundException ____A.2.5 런타임 권한 문제(SecurityException)
이제 막 안드로이드 앱 개발을 시작한 초급 개발자에게는 하나의 앱을 만들더라도 안드로이드 개념을 제대로 이해하고, 개발하는 것이 중요합니다. 처음에 기본기를 제대로 익혀야 실전 앱을 개발하면서 겪는 다양한 상황에 유연하게 대처할 수 있습니다. 이 책의 목적은 단순히 책의 예제를 따라해보는 데 있는 것이 아니라, 제대로 된 실전 앱을 만들 수 있는 역량을 키우는 데 있습니다. 안드로이드 앱을 만들어 보면서 개념을 익히고, 예제 소스코드 분석을 통해 응용력을 키울 수 있습니다. 이 과정에서 습득한 응용력은 각 장의 마지막에 수록한 [도전! 프로젝트]를 수행하면서 더욱 깊게 다져질 것입니다.
[이 책의 특징] * 안드로이드 8.1 오레오(Oreo), 안드로이드 스튜디오 3.X 대응 * 이론과 다양한 코드를 통해 실제 개발 능력을 키울 수 있게 구성 * 실전 응용력을 쌓을 수 있도록 각 장마다 실습 프로젝트 수록 * 템플릿 프로젝트 생성 및 기능 추가 방법 수록
이 책을 처음 맞이하고 첫 인상은 바로 '두껍다' 였다. 대략 580쪽에 달한다. 가지고 다닐 거라면 무...
이 책을 처음 맞이하고 첫 인상은 바로 '두껍다' 였다. 대략 580쪽에 달한다. 가지고 다닐 거라면 무게를 견딜 큰 각오를 해야 할 것이지만 솔직히 그렇게 가지고 다니면서 볼 일은 없을 것이다. 이 책은 실무를 하면서 곁에 두면서 보게 될테니까. 솔직히 이런 기술서적을 잘 사서 보지 않는 편이다. 이유는 워낙 빨리 변하기 때문이다. 특히 안드로이드가 그렇다. 이 책은 안드로이드 8.1 오레오를 다룬다고 하지만 벌써 안드로이드 9 파이가 나왔으니... 하지만 그렇다고 이 책이 나오자마자 외면받을 이유는 없다고 말하고 싶다.
판을 거듭해도 꾸준히 대를 이어온 핵심 위젯, 레이아웃들이 있다. 기초이며 정말 중요한 핵심인 액티비티는 바뀌지 않았다. 인텐트도 여전하다. 이책은 이러한 애들을 다룬다. 그렇기에 9 파이가 나오든 10 뭐시기가 나오든 문제 될게 없다.
물론 안드로이드 스튜디오 설치와 다루는 법은 달라질 수도 있겠지만 크게 바뀌겠는가 싶다. ^^; 이렇게 기초이며 핵심인 것들을 상세히 그리고 친절하게 다루기에 두꺼울 수 밖에 없다. 이 책이 처음시작하는 개발자를 위한 것이라 하여 초심자를 벗어나면 끝이라 생각할 수 있지만 착각이다. 안드로이드 개발자라면 곁에두고 절대 모니터 받침으로 쓰지 말라! 모니터를 들고 책을 열어볼 일이 자주 생길지 모르니 말이다. 내 경험을 살려 하나의 예를 들어보면 이렇다.
앱의 안드로이드 최소버전을 지정하고 싶은데 정말 생각이 안난다. 물론 구글의 도움을 빌려볼 수도 있겠지만 바로 내 옆에 책이 있다. 얼핏 gradle이 생각나기에 build.gradle에 대해 설명한 부분을 찾아본다. 51페이지에서 해답을 찾아 문제를 해결한다. :-)
이 책에는 초심자를 위하여 각 챕터마다 '도전! 프로젝트'가 존재한다. 역시 개발은 직접 해봐야 하는 것이기 때문이리라. 정말 그렇다. 직접 해보지 않으면 정말 내 것이 되기 힘들다. 안드로이드 개발자로 시작하고자 하거나 이미 시작했다면 이 책은 좋은 친구가 되어줄 것이다.(그렇다고 가방에 넣어 가지고 다니지는 말자. 정말 무겁다 -.-)