이미 소장하고 있다면 판매해 보세요.
|
1장 처음 만드는 안드로이드 애플리케이션
앱 기본사항 안드로이드 프로젝트 생성하기 이클립스 사용하기 사용자 인터페이스의 레이아웃 만들기 레이아웃 XML 에서 뷰 객체로 위젯을 코드와 연결하기 에뮬레이터에서 실행시키기 안드로이드 앱 빌드 절차 2장 안드로이드와 모델-뷰-컨트롤러 새로운 클래스 만들기 모델 뷰-컨트롤러와 안드로이드 뷰 계층 수정하기 컨트롤러 계층 수정하기 장치에서 실행하기 아이콘 추가하기 챌린지 챌린지: 리스너를 TextView에 추가한다 챌린지: Previous(이전) 버튼을 추가한다 챌린지: Button에서 ImageButton으로 변경 3장 액티비티 생명주기 액티비티 생명주기 로깅하기 장치 회전과 액티비티 생명주기 장치 회전 시 데이터 저장하기 액티비티 생명주기 다시 알아보기 onSaveInstanceState(Bundle) 테스트하기 로깅 레벨과 관련 메서드들 4장 안드로이드 앱의 디버깅 DDMS 퍼스펙티브 예외와 스택 기록 파일 탐색기 안드로이드 특유의 디버깅 5장 두 번째 액티비티 만들기 두 번째 액티비티 준비하기 액티비티 시작시키기 액티비티 간의 데이터 전달 안드로이드가 액티비티를 어떻게 알까 ? 챌린지 6장 안드로이드 SDK 버전과 호환성 안드로이드 SDK 버전 호환성과 안드로이드 프로그래밍 안드로이드 개발자 문서 챌린지: 빌드 버전 보여주기 7장 UI 프래그먼트와 프래그먼트 매니저 UI 유연성의 필요 프래그먼트 개요 CriminalIntent 앱 개발 시작하기 UI 프래그먼트의 호스팅 UI 프래그먼트 생성하기 UI Fragment를 FragmentManager에게 추가하기 이 책의 모든 액티비티가 프래그먼트를 사용하는 이유 허니콤, 아이스크림 샌드위치, 젤리빈과 그 이후 버전에서의 앱 개발 8장 레이아웃과 위젯으로 사용자 인터페이스 생성하기 Crime 업그레이드하기 레이아웃 변경하기 위젯을 코드와 연결하기 XML 레이아웃 속성을 더 자세히 알아보기 그래픽 레이아웃 도구 사용하기 챌린지: 날짜의 형식 만들기 9장 ListFragment로 리스트 보여주기 CriminalIntent의 모델 계층 변경하기 ListFragment 생성하기 프래그먼트의 호스팅을 위한 추상 액티비티 ListFragment, ListView, ArrayAdapter 리스트 항목의 커스터마이징 10장 프래그먼트 인자 사용하기 프래그먼트로부터 액티비티 시작시키기 프래그먼트 인자 리스트를 다시 로딩하기 프래그먼트로부터 결과받기 11장 ViewPager 사용하기 CrimePagerActivity 생성하기 ViewPager 가 실제로 동작하는 방법 12장 대화상자 DialogFragment 생성하기 두 프래그먼트 간에 데이터 전달하기 챌린지: 더 많은 대화상자 만들기 13장 MediaPlayer를 사용한 오디오 재생 리소스 추가하기 HelloMoonFragment의 레이아웃 정의하기 HelloMoonFragment 생성하기 레이아웃 프래그먼트 사용하기 오디오 재생 챌린지: 오디오 재생을 일시 중지하기 비디오 재생하기 챌린지: HelloMoon에서 비디오 재생하기 14장 유보 프래그먼트 프래그먼트 유보시키기 장치 회전과 유보 프래그먼트 유보 프래그먼트: 그렇게 좋을까? 장치 회전 처리와 onSaveInstanceState(Bundle) 프래그먼트가 나오기 전의 장치 회전 처리 15장 지역화 리소스를 지역화하기 구성 수식자 더 많은 리소스 규칙과 규정들 대체 리소스 테스트하기 16장 액션 바 옵션 메뉴 내비게이션 활성화하기 대체 메뉴 항목 챌린지: 텅 빈 리스트 뷰 17장 로컬 파일의 저장과 로딩 CriminalIntent의 데이터를 저장하고 로딩하기 챌린지: 외부 스토리지 사용하기 안드로이드 파일 시스템과 자바 I/O 18장 컨텍스트 메뉴와 컨텍스트 액션 모드 컨텍스트 메뉴 리소스 정의하기 플로팅 컨텍스트 메뉴 구현하기 컨텍스트 액션 모드 구현하기 호환성: 소극적 하향 지원인가 아니면 기능 복제인가? 챌린지: CrimeFragment에서 Crime 데이터 삭제하기 ActionBarSherlock 챌린지: ActionBarSherlock 사용하기 19장 카메라 I: 뷰파인더 프래그먼트 레이아웃 생성하기 CrimeCameraFragment 생성하기 CrimeCameraActivity 생성하기 카메라 API 사용하기 명령행에서 액티비티 실행시키기 20장 카메라 II: 사진 찍고 이미지 처리하기 사진 찍기 CrimeFragment 로 데이터 되돌려주기 모델 계층의 데이터 변경하기 CrimeFragment의 뷰 변경하기 더 큰 이미지를 DialogFragment에 보여주기 챌린지: 범죄 이미지의 방향 챌린지: 사진 삭제하기 안드로이드의 Deprecation 21장 암시적 인텐트 버튼 추가하기 모델 계층에 용의자 추가하기 포맷 문자열 사용하기 암시적 인텐트 사용하기 챌린지: 또 다른 암시적 인텐트 22장 두 패널 마스터-디테일 인터페이스 레이아웃의 유연성 추가하기 프래그먼트의 보스인 액티비티 장치 크기 결정에 관해 추가로 알아보기 23장 인텐트와 태스크 NerdLauncher 준비하기 암시적 인텐트 해결하기 런타임 시에 명시적 인텐트 생성하기 태스크와 back 스택 NerdLauncher 를 홈 화면으로 사용하기 챌린지: 아이콘과 태스크 재정렬하기 프로세스 vs. 태스크 24장 스타일과 Include RemoteControl 프로젝트 설정하기 스타일을 사용해서 정리하기 레이아웃 완성하기 include와 merge 챌린지: 스타일의 상속 25장 XML Drawable과 9-Patch XML drawable 상태 리스트 Drawable 레이어 리스트 drawable 과 인셋 drawable 9-Patch 이미지 사용하기 26장 HTTP & 백그라운드 태스크 PhotoGallery 생성하기 네트워킹 기본 AsyncTask를 사용해서 백그라운드 스레드로 실행하기 Main 스레드 플리커에서 XML 가져오기 AsyncTask 로부터 main 스레드로 돌아오기 AsyncTask 에 관해 추가로 알아보기 챌린지: 페이징 27장 Looper, Handler, HandlerThread 이미지를 보여주기 위해 GridView 준비하기 다운로드 관련 고려 사항들 main 스레드와 소통하기 백그라운드 스레드 만들기 메시지와 메시지 핸들러 AsyncTask vs. Threads 챌린지: 프리로딩과 캐싱 28장 검색 플리커 검색하기 검색 대화상자 안드로이드 3.0 이상에서 SearchView 사용하기 챌린지 29장 백그라운드 서비스 IntentService 생성하기 서비스의 필요성 새로운 결과 찾기 AlarmManager를 사용한 지연 실행 알람 제어하기 통지 서비스 자세히 알아보기 30장 브로드캐스트 인텐트 장치 부팅 시 앱 깨우기 포그라운드 통지의 필터링 수신자와 오래 실행되는 태스크 31장 웹과 웹뷰의 브라우징 플리커 데이터에서 하나 더 알아둘 사항 쉬운 방법: 암시적 인텐트 더 어려운 방법: WebView 자바스크립트 객체 추가하기 32장 커스텀 뷰와 터치 이벤트 DragAndDraw 프로젝트 설정하기 커스텀 뷰 생성하기 터치 이벤트 처리하기 onDraw(…) 내부에서 렌더링하기 챌린지: 방향 회전 33장 장치의 위치 추적하기 RunTracker 시작하기 위치와 LocationManager 브로드캐스트되는 위치 갱신 정보 받기 위치 데이터를 사용하도록 UI 변경하기 더 빠른 해결책: 마지막 인식 위치 실제 장치와 가상 장치에서 위치 테스트하기 34장 SQLite 로컬 데이터베이스 이동과 위치를 데이터베이스에 저장하기 데이터베이스의 이동 데이터 쿼리하기 CursorAdapter를 사용해서 이동 리스트 보여주기 새로운 이동 생성하기 이동의 상세 내역 처리하기 챌린지: 현재 (위치 기록 중인) 이동 식별하기 35장 Loader로 비동기 데이터 로드하기 Loader 와 LoaderManager RunTracker 에서 로더 사용하기 이동 리스트 데이터 로드하기 하나의 이동 (Run) 로드하기 이동 (Run)의 마지막 위치 (Location) 로드하기 36장 구글 맵 사용하기 맵 API 를 RunTracker 에 추가하기 사용자의 위치를 지도에 보여주기 이동(Run)의 경로 보여주기 이동(Run)의 시작과 끝에 표식 추가하기 챌린지: 라이브 위치 변경 37장 책을 마무리하며 마지막 챌린지 부담 없는 연락처 감사합니다 |
|
이 책에서는 모바일 시스템의 대명사라 할 수 있는 안드로이드의 애플리케이션을 개발하는 데 필요한 내용을 알려줍니다. 그러나 기존의 여타 책들과 달리, 이 책은 실제 애플리케이션에 필요한 지식을 습득하면서 만들 수 있게 배려되어 있습니다. 즉, 여러 가지 기능을 나열하고 단편적인 코드를 보여주는 형태가 아니라, 실제 애플리케이션을 만들어 가면서 핵심적인 기능을 점진적이고 자연스럽게 배우고 프로그래밍하는 능력을 키워줍니다.
--- p.XV 안드로이드에서 뷰 계층의 객체들은 레이아웃 파일에 정의된 XML로부터 생성된다. GeoQuiz 앱에서는 단 하나의 레이아웃만이 activity--- p.quiz.xml 파일에 정의되어 있다. 이 레이아웃은 그림 2.6에 있는 것처럼 수정이 필요하다. (여기서는 공간을 절약하기 위해 변경되지 않는 속성들은 나타내지 않았다.) --- p.42 리스트-디테일 애플리케이션은 두 개의 액티비티로 구성된다고 생각할 수 있다. 하나는 리스트(목록)를 관리하고, 다른 것은 디테일(상세 내역) 뷰를 관리한다. 리스트의 범죄를 클릭하면 디테일 액티비티의 인스턴스 생성을 시작할 것이다. 그리고 Back 버튼을 누르면 디테일 액티비티를 소멸시키고 리스트로 돌아와서 또 다른 범죄를 선택할 수 있다. --- p.150 convertView 매개변수는 리스트 항목 하나를 보여주는 뷰 객체이다. 이 객체는 매번 새로 생성되지 않고 기존 객체를 어댑터가 재구성하고 반환할 수 있다. 이처럼 뷰 객체들을 재사용하면 성능 면에서 장점이 있다. 같은 타입의 객체를 계속해서 생성하고 소멸시키지 않기 때문이다. ListView는 정해진 수의 리스트 항목들만 한 번에 보여줄 수 있다. 따라서 많은 수의 사용되지 않는 뷰 객체들을 생성하여 공연히 메모리를 낭비하게 할 이유가 없다. --- p.227 액션 바(action bar)는 허니콤 버전에서 소개되었으며, 구 버전의 타이틀 바를 대체하였다. 그러나 액션 바는 앱의 제목과 아이콘을 보여주기만 하는 것이 아니라 그 이상의 더 많은 일을 한다. 액션 바는 또한 메뉴 항목을 적재할 수 있으며, 그것의 앱 아이콘은 내비게이션 버튼으로 사용될 수 있다. --- p.319 이 장에서는 안드로이드의 고수준 HTTP 네트워킹을 사용하는 방법을 배울 것이다. 오늘날 거의 모든 웹 서비스 프로그래밍은 HTTP 네트워킹 프로토콜을 기반으로 한다. 그리고 플리커로부터 사진 캡션(사진에 첨부한 설명)들을 가져와서 파싱하고 보여줄 것이다. --- p.526 |
|
아마존 안드로이드 서적 중 최고의 베스트셀러!
최신 안드로이드인 킷캣(4.4) 버전에서 코드 테스트 완료! 8개의 앱을 직접 따라 만들면서 배우는 실전 안드로이드 프로그래밍! 미국 최고의 모바일 교육기관인 빅 너드 랜치(Big Nerd Ranch)의 안드로이드 강의 노하우를 기반으로 집필! 이 책은 빅 너드 랜치(Big Nerd Ranch)의 잘 알려진 안드로이드 훈련 캠프 과정의 노하우를 기반으로 집필되었다. 따라서 이 책을 통해서 최신 안드로이드의 핵심적인 개념을 배울 수 있고, API에 관한 명쾌한 설명과 더불어 직접 앱을 작성하면서 안드로이드 프로그래밍의 기초부터 고급 기법까지 배울 수 있다. 또한, 이 책은 오늘날 널리 사용되는 모든 안드로이드 버전과 호환될 수 있는, 앱 개발에 필요한 실제적인 기법을 가르치는 데 초점을 둔다. 책에서는 8개의 앱을 만들어 가는 과정을 친절하게 설명하고 있다. 따라서 여러분이 직접 코드를 작성하고 실행해 보면 안드로이드 프로그래밍 실력이 절로 향상되는 것을 느끼게 될 것이다. 각 장에 있는 내용 설명과 앱은 안드로이드 앱 개발을 시작하는 데 필요한 지식과 경험을 제공하기 위해 설계되고 테스트되었다. 이 책의 구성 이 책에서는 8개의 안드로이드 앱을 작성한다. 어떤 것들은 매우 간단해서 한 장으로 끝나지만, 또 어떤 것들은 더 복잡해서 여러 장에 걸쳐 만들어진다. 그중 가장 복잡하고 긴 앱은 13개 장에 걸쳐 개발된다. 모든 앱들은 저마다 중요한 개념과 기법을 가르치도록 설계되었으므로, 이 책을 읽으면서 앱을 작성하다 보면 어느새 여러분이 숙련된 안드로이드 프로그래머가 된 것을 느끼게 될 것이다. 8개 앱은 다음과 같다. ★ GeoQuiz: 우리의 첫 번째 앱이다. 안드로이드 프로젝트의 전체적인 구성, 액티비티, 레이아웃, 명시적 인텐트와 같은 기본적이고 핵심적인 내용들을 배운다. ★ CriminalIntent: 이 책에서 가장 큰 규모의 앱이며, 사무실에서 발생하는 불미스러운 일들을 기록하고 관리한다. 이 앱을 만들면서 많은 중요한 것을 배운다. 프래그먼트, 마스터-디테일 사용자 인터페이스, 메뉴, 카메라, 암시적 인텐트 등의 사용법을 배운다. ★ HelloMoon: 이 작은 앱에서는 프래그먼트, 미디어(오디오와 비디오) 재생, 리소스, 지역화에 대해서 배운다. ★ NerdLauncher: 안드로이드 시스템에서 앱을 시작시키는 우리의 커스텀 론처를 만든다. 그럼으로써 안드로이드의 인텐트와 태스크에 대해 자세히 배운다. ★ RemoteControl: 이 앱에서는 멋진 사용자 인터페이스를 만들기 위해 스타일, 상태 리스트 drawable 및 그 외 다른 도구들을 사용하는 방법을 배운다. ★ PhotoGallery: 사진 정보를 갖고 있는 플리커(Flickr) 사이트로부터 사진들을 다운로드하고 보여주는 플리커 클라이언트 앱이다. 이 앱에서는 안드로이드의 서비스와 다중 스레드 및 웹 서비스를 액세스하는 방법을 알려준다. ★ DragAndDraw: 이 간단한 앱에서는 터치 이벤트를 처리하고 우리의 커스텀 뷰를 만드는 방법을 배운다. ★ RunTracker: 이 앱에서는 GPS를 이용해서 우리가 이동한 경로를 추적 기록하고 지도에 보여준다. 위치 서비스, SQLite 데이터베이스, 로더, 구글 맵 사용법을 배운다. |