이미 소장하고 있다면 판매해 보세요.
|
CHAPTER 1 헬로, 안드로이드 1
1.1 안드로이드 애플리케이션 개발 1 1.2 그리 깊지 않은 배경 지식 3 1.3 안드로이드 생태계 4 1.4 사전에 설치된 안드로이드 애플리케이션들 5 1.5 안드로이드 소프트웨어 개발 키트의 특징 7 1.6 안드로이드 구동 기기 7 1.7 모바일 개발에 뛰어들어야 하는 이유 8 1.8 안드로이드 개발에 뛰어들어야 하는 이유 9 1.9 개발자 프레임워크 소개 9 CHAPTER 2 시작하기 16 2.1 안드로이드 애플리케이션 개발 시작하기 17 2.2 안드로이드 애플리케이션 개발하기 19 2.3 모바일 및 임베디드 기기 애플리케이션 개발하기 48 2.4 안드로이드 개발 도구 60 CHAPTER 3 애플리케이션, 액티비티, 프래그먼트, 기타 등등 72 3.1 애플리케이션, 액티비티, 프래그먼트 73 3.2 안드로이드 애플리케이션의 컴포넌트들 73 3.3 안드로이드 애플리케이션의 수명 주기, 우선순위, 프로세스 상태 75 3.4 안드로이드의 Application 클래스 77 3.5 안드로이드 액티비티 자세히 살펴보기 78 3.6 프래그먼트 소개 91 3.7 지진 정보 조회 애플리케이션 만들기 108 CHAPTER 4 안드로이드 매니페스트, 그래들 빌드 파일 정의하기 및 리소스 외부화하기 120 4.1 매니페스트, 빌드 파일, 리소스 121 4.2 안드로이드 매니페스트 소개하기 121 4.3 그래들 빌드 설정하기 127 4.4 리소스 외부화하기 136 CHAPTER 5 사용자 인터페이스 빌드하기 163 5.1 안드로이드 디자인의 토대 164 5.2 밀도 독립적인 디자인 165 5.3 안드로이드 사용자 인터페이스의 토대 166 5.4 레이아웃 168 5.5 안드로이드 위젯 툴박스 181 5.6 리스트와 그리드 사용하기 182 5.7 데이터 바인딩 192 5.8 새 뷰 만들기 198 CHAPTER 6 인텐트와 브로드캐스트 리시버 225 6.1 인텐트와 브로드캐스트 리시버 사용하기 226 6.2 인텐트를 사용해 액티비티 시작하기 227 6.3 암시적 인텐트를 수신하는 인텐트 필터 만들기 236 6.4 링키파이 255 6.5 브로드캐스트 이벤트에 인텐트 사용하기 258 6.6 로컬 브로드캐스트 매니저 267 6.7 펜딩 인텐트 268 CHAPTER 7 인터넷 리소스 사용하기 271 7.1 인터넷에 연결하기 272 7.2 인터넷 리소스 연결, 다운로드, 파싱하기 272 7.3 다운로드 매니저 사용하기 300 7.4 배터리를 적게 소모하면서 데이터를 다운로드하는 최선의 방법 310 7.5 인터넷 서비스와 클라우드 컴퓨팅 313 CHAPTER 8 파일, 상태 저장, 사용자 환경 설정 315 8.1 파일, 상태, 프레퍼런스 저장하기 316 8.2 수명 주기 핸들러를 사용해 액티비티 및 프래그먼트 인스턴스의 상태 저장하기와 복원하기 317 8.3 헤드리스 프래그먼트와 뷰 모델의 인스턴스 상태 유지하기 319 8.4 공유 프레퍼런스 생성하기와 저장하기 324 8.5 공유 프레퍼런스 데이터 읽기 326 8.6 공유 프레퍼런스 변경 리스너 327 8.7 애플리케이션 파일과 공유 프레퍼런스의 자동 백업 구성하기 327 8.8 프레퍼런스 UI 빌드하기 330 8.9 지진 정보 조회 애플리케이션에 설정 액티비티 만들기 337 8.10 정적 파일을 리소스로 포함하기 346 8.11 파일 시스템 사용하기 347 8.12 SDA로 공용 디렉터리 사용하기 350 8.13 파일 프로바이더를 사용해 파일 공유하기 355 8.14 저장소 접근 프레임워크를 사용해 다른 애플리케이션의 파일 사용하기 357 8.15 URI 기반 권한 사용하기 361 CHAPTER 9 데이터베이스 만들기와 사용하기 363 9.1 안드로이드의 구조적 데이터 저장소 364 9.2 Room 퍼시스턴스 라이브러리를 사용해 데이터 저장하기 364 9.3 지진 데이터를 Room 데이터베이스에 저장하기 378 9.4 SQLite 데이터베이스로 작업하기 384 9.5 파이어베이스 리얼타임 데이터베이스 396 CHAPTER 10 콘텐트 프로바이더와 검색 406 10.1 콘텐트 프로바이더 407 10.2 왜 콘텐트 프로바이더를 사용해야 할까? 407 10.3 콘텐트 프로바이더 만들기 408 10.4 콘텐트 리졸버로 콘텐트 프로바이더에 접근하기 422 10.5 네이티브 안드로이드 콘텐트 프로바이더 사용하기 435 10.6 애플리케이션에 검색 기능 추가하기 450 CHAPTER 11 백그라운드에서 작업하기 479 11.1 백그라운드로 작업하기 480 11.2 백그라운드 스레드 사용하기 481 11.3 백그라운드 작업 스케줄링하기 489 11.4 알림을 사용해 사용자에게 알리기 509 11.5 파이어베이스 클라우드 메시징 사용하기 531 11.6 알람 사용하기 537 11.7 서비스 539 CHAPTER 12 안드로이드 디자인 철학 구현하기 549 12.1 안드로이드의 디자인 철학 550 12.2 모든 화면에 어울리는 디자인 550 12.3 머티리얼 디자인 564 12.4 머티리얼 디자인의 사용자 인터페이스 요소들 573 CHAPTER 13 현대적인 안드로이드 사용자 인터페이스 구현하기 585 13.1 현대 안드로이드의 UI 586 13.2 AppCompat을 사용해 일관된 현대적 사용자 인터페이스 만들기 586 13.3 앱바에 메뉴와 액션 추가하기 589 13.4 기본 앱바를 넘어 595 13.5 지진 정보 뷰어 앱의 앱바 개선하기 602 13.6 앱의 이동 패턴 604 13.7 지진 정보 뷰어에 탭 추가하기 620 13.8 적절한 방해 수준 선택하기 626 CHAPTER 14 사용자 인터페이스의 고급 구성 632 14.1 사용자 경험 확장하기 633 14.2 접근성 지원하기 633 14.3 안드로이드의 음성 합성 635 14.4 음성 인식 사용하기 638 14.5 기기의 진동 제어하기 640 14.6 전체 화면 활용하기 642 14.7 프로퍼티 애니메이션으로 작업하기 644 14.8 뷰 개선하기 648 14.9 고급 캔버스 드로잉 649 14.10 복합 드로어블 리소스 676 14.11 복사하기, 붙여넣기, 클립보드 680 CHAPTER 15 위치, 상황 인지, 지도 683 15.1 애플리케이션에 위치, 지도, 상황 인지 추가하기 684 15.2 구글 플레이 서비스 685 15.3 구글 위치 서비스를 사용해 기기의 위치 찾기 689 15.4 지오펜스 설정하기와 관리하기 717 15.5 전통적인 플랫폼 위치 기반 서비스 사용하기 721 15.6 지오코더 사용하기 732 15.7 지도 기반 액티비티 만들기 739 15.8 지진 정보 뷰어에 지도 추가하기 762 15.9 상황 인지 추가하기 767 CHAPTER 16 하드웨어 센서 778 16.1 안드로이드의 센서 779 16.2 안드로이드 가상 기기와 에뮬레이터에서 센서 테스트하기 796 16.3 센서 다루기의 모범 사례 798 16.4 기기의 움직임과 방향 모니터링하기 799 16.5 환경 센서 사용하기 819 16.6 신체 센서 사용하기 826 16.7 사용자 행동 인지 829 CHAPTER 17 오디오, 비디오 그리고 카메라 사용하기 833 17.1 오디오와 비디오 재생하기 그리고 카메라 사용하기 834 17.2 오디오와 비디오 재생하기 834 17.3 미디어 라우터와 캐스트 애플리케이션 프레임워크 사용하기 853 17.4 백그라운드 오디오 재생 859 17.5 미디어 리코더를 사용해 오디오 리코딩하기 869 17.6 카메라를 사용해 사진 찍기 872 17.7 비디오 리코딩하기 882 17.8 미디어 스토어에 미디어 추가하기 887 CHAPTER 18 블루투스, NFC, 와이파이 P2P 통신하기 890 18.1 네트워킹과 P2P 통신 891 18.2 블루투스를 사용해 데이터 전송하기 891 18.3 와이파이 P2P를 사용해 데이터 전송하기 909 18.4 NFC 사용하기 917 18.5 안드로이드 빔 사용하기 921 CHAPTER 19 홈 화면 공략하기 927 19.1 홈 화면 커스터마이즈하기 928 19.2 화면 위젯 928 19.3 지진 앱에 위젯 만들기 945 19.4 컬렉션 뷰 위젯 953 19.5 라이브 배경화면 만들기 970 19.6 앱 단축키 만들기 975 CHAPTER 20 고급 안드로이드 개발 982 20.1 고급 안드로이드 983 20.2 편집증적인 안드로이드 983 20.3 각기 다른 하드웨어 및 소프트웨어 사용 가능성 처리하기 990 20.4 엄격 모드로 사용자 인터페이스 성능 최적화하기 994 20.5 전화 통신과 SMS 996 CHAPTER 21 앱의 릴리스, 배포, 모니터링 1029 21.1 릴리스 준비하기 1030 21.2 앱 매니페스트의 앱 메타데이터 업데이트하기 1032 21.3 앱의 프로덕션 빌드에 서명하기 1036 21.4 구글 플레이 스토어에서 앱 배포하기 1041 21.5 앱의 수익 창출 1061 21.6 앱 마케팅, 프로모션, 배포 전략 1063 21.7 파이어베이스를 사용해 앱 모니터링하기 1065 찾아보기 1075 |
Reto Meier
Ian Lake
|
안드로이드 코드는 전통적으로 자바 언어로 작성했다. 2017년까지만 해도 안드로이드 애플리케이션 개발에는 자바가 필수 요소였다. 그러나 안드로이드 스튜디오 3.0부터는 자바에 추가하여 코틀린을 완벽하게 지원하고 있다. 따라서 프로그래머는 부분적 또는 전체적으로 코틀린을 사용해 안드로이드 애플리케이션을 작성할 수 있다.
--- p.17 안드로이드 시스템은 브로드캐스트 인텐트를 사용해 인터넷 연결의 변경이나 배터리 충전 상태와 같은 시스템 이벤트를 공지할 수 있다. 전화 송수신이나 SMS 매니저와 같은 네이티브 안드로이드 애플리케이션들은 특정 브로드캐스트 인텐트를 리스닝하는 컴포넌트를 등록해 해당 상황에 맞게 반응한다. 따라서 동일한 인텐트를 리스닝하는 브로드캐스트 리시버를 등록해 네이티브 애플리케이션을 상당수 대체할 수 있다. --- p.227 단일 화면만 지원하던 앱이 커지면 쉬운 사용자의 상호 작용을 위해 이동(찾아가기) 패턴을 통합할 필요가 커진다. 탭은 사용자가 쉽게 최상위 레벨의 액티비티 사이를 왔다 갔다 할 수 있는 한 가지 패턴이다. 반면 하단 내비게이션바는 3개에서 5개까지의 최상위 레벨 액티비티에 지속적인 접근 방식을 제공한다. 마지막으로 내비게이션 드로어는 사용자가 기존 이동(찾아가기) 방식으로 쉽게 접근하면서도 콘텐트에만 초점을 맞출 수 있도록 한다. --- p.586 새 버전의 구글 플레이 서비스 클라이언트 라이브러리는 안드로이드 지원 라이브러리와 SDK 플랫폼처럼 안드로이드 SDK 매니저를 통해 사용할 수 있다. 구글 플레이 서비스는 지원 라이브러리처럼 업데이트 주기가 안드로이드 플랫폼 SDK보다 훨씬 짧다. --- p.685 홈 화면 위젯, 좀 더 적절한 표현인 AppWidgets은 한마디로 다른 애플리케이션에 추가될 수 있는 시각적 애플리케이션 컴포넌트다. 앱 위젯의 가장 큰 특징은 사용자가 애플리케이션의 상호 작용 중 일부를 홈 화면 안에 직접 탑재할 수 있다는 것이다. 잘 만든 앱 위젯들은 배터리를 적게 소모하면서도 유용하고 간결한 정보를 적재적소에 제공한다. --- p.928 |
|
이 책의 주요 내용
- 작업 스케줄러와 안드로이드 아키텍처 컴포넌트(Live Data와 Room 포함)를 비롯한 안드로이드 API - 상세 안드로이드 스튜디오 IDE 탐험 및 코틀린 소개 - 머티리얼 디자인 원칙, 디자인 가이드라인, 내비게이션 패턴, UI 베스트 프랙티스 - 모든 안드로이드 폼 팩터를 위한 매력적인 UI 생성 기술 - 지도, 위치 기반 서비스, Awareness API를 비롯한 파이어베이스 및 구글 플레이 서비스 API 라이브러리 |