프로그래머를 위한 안드로이드
도서명:프로그래머를 위한 안드로이드
저자/출판사:폴,데이텔,하비,데이텔,애비,데이텔/정보문화사
쪽수:500쪽
출판일:2015-03-02
ISBN:9788956746265
목차
Chapter 1 안드로이드에 대한 소개
1.1 소개
1.2 안드로이드 - 세계 최고의 모바일 운영 체제
1.3 안드로이드의 특징
1.4 안드로이드 운영 체제
1.4.1 안드로이드 2.2(프로요)
1.4.2 안드로이드 2.3(진저브레드)
1.4.3 안드로이드 3.0/3.2 (허니콤)
1.4.4 안드로이드 4.0/4.0.4(아이스크림 샌드위치)
1.4.5 안드로이드 4.1/4.3(젤리빈)
1.4.6 안드로이드 4.4(킷캣)
1.5 구글 플레이에서 앱 다운로드하기
1.6 패키지
1.7 안드로이드 소프트웨어 개발 킷(Android SDK)
1.8 객체 지향 프로그래밍
1.8.1 객체로서의 자동차
1.8.2 메소드와 클래스
1.8.3 인스턴스화
1.8.4 재사용
1.8.5 메시지와 메소드 호출
1.8.6 속성과 인스턴스 변수
1.8.7 캡슐화
1.8.8 상속
1.8.9 객체 지향 분석과 설계(OOAD)
1.9 안드로이드 가상 디바이스(AVD)에서 두들즈 앱 테스트 드라이브하기
1.9.1 Nexus 4 스마트폰의 안드로이드 가상 디바이스
1.9.2 태블릿 안드로이드 가상 디바이스에서 두들즈 앱 실행하기
1.9.3 안드로이드 디바이스에서 두들즈 앱 실행하기
1.10 좋은 안드로이드 앱 만들기
1.11 안드로이드 개발 리소스
1.12 맺음말
Chapter 2 Welcome 앱
2.1 소개
2.2 기술 개요
2.2.1 안드로이드 개발 도구 IDE
2.2.2 TextView와 ImageView
2.2.3 앱 리소스
2.2.4 접근성
2.2.5 국제화
2.3 앱 만들기
2.3.1 안드로이드 개발 도구 IDE 런칭하기
2.3.2 새로운 프로젝트 만들기
2.3.3 New Android Application 창
2.3.4 Configure Project 단계
2.3.5 Configure Launcher Icon 단계
2.3.6 Create Activity 단계
2.3.7 Blank Activity 단계
2.4 안드로이드 개발 도구 윈도우
2.4.1 Package Explorer
2.4.2 에디터 탭
2.4.3 Outline 탭
2.4.4 앱 리소스 파일
2.4.5 Graphical Layout 에디터
2.4.6 디폴트 GUI
2.5 Graphical Layout 에디터로 앱의 GUI 만들기
2.5.1 프로젝트에 이미지 추가하기
2.5.2 FrameLayout을 RelativeLayout으로 변경하기
2.5.3 TextView의 추가 및 설정
2.5.4 이미지를 디스플레이하기 위해 ImageView 더하기
2.6 Welcome App 작동시키기
2.7 앱의 접근성 높이기
2.8 앱을 국제화하기
2.9 맺음말
Chapter 3 팁 계산기 앱
3.1 소개
3.2 팁 계산기 앱의 테스트 드라이브
3.3 기술 개요
3.3.1 Activity 클래스
3.3.2 Activity 생명주기 메소드
3.3.3 LinearLayout과 GridLayout으로 뷰 배치하기
3.3.4 Graphical Layout 에디터와 Outline 탭, Properties로 GUI 생성 및
커스터마이징하기
3.3.5 지역별 통화와 퍼센트 기호를 위한 숫자 포매팅
3.3.6 EditText의 텍스트 변경 시 처리를 위한 TextWatcher 인터페이스 구현
3.3.7 SeekBar의 썸 위치 변경 처리를 위한
OnSeekBarChangeListener 인터페이스 구현
3.3.8 AndroidManifest.xml
3.4 앱의 GUI 만들기
3.4.1 GridLayout 소개
3.4.2 TipCalculator 프로젝트 생성하기
3.4.3 GridLayout으로 변경하기
3.4.4 TextView, EditText, SeekBar 그리고 LinearLayout 추가하기
3.4.5 디자인을 완성하기 위해 뷰를 커스터마이징하기
3.5 앱에 기능 추가하기
3.6 AndroidManifest.xml
3.7 맺음말
Chapter 4 트위터 검색 앱
4.1 소개
4.2 트위터 검색 앱 둘러보기
4.2.1 앱을 임포트하고 실행하기
4.2.2 검색어 즐겨찾기 추가
4.2.3 트위터 검색 결과 보기
4.2.4 검색어 편집하기
4.2.5 검색어 공유
4.2.6 검색어 삭제
4.2.7 저장된 검색어 목록 스크롤링
4.3 기술 개요
4.3.1 ListView
4.3.2 ListActivity
4.3.3 커스터마이징 ListActivity 레이아웃
4.3.4 ImageButton
4.3.5 SharedPreferences
4.3.6 다른 액티비티를 시작하기 위한 Intent
4.3.7 AlertDialog
4.3.8 AndroidManifest.xml
4.4 앱 GUI 만들기
4.4.1 프로젝트 생성
4.4.2 activity_main.xml 개요
4.4.3 GridLayout과 컴포넌트 추가
4.4.4 Graphical Layout 에디터 툴바
4.4.5 ListView의 아이템 레이아웃: list_item.xml
4.5 MainActivity 클래스 만들기
4.5.1 package와 import 구문
4.5.2 ListActivity 상속
4.5.3 MainActivity 클래스의 필드
4.5.4 Activity 메소드 onCreate 재정의
4.5.5 신규 또는 갱신된 검색어를 저장하기 위해 saveButton의
OnClickListener를 구현한 익명 이너 클래스
4.5.6 addTaggedSearch 메소드
4.5.7 검색 결과를 표시하는 ListView의 OnItemClickListener를 구현한
익명 이너 클래스
4.5.8 검색어를 공유, 편집, 삭제하기 위해 ListView의 OnItemLongClickListener를
구현한 익명 이너 클래스
4.5.9 shareSearch 메소드
4.5.10 deleteSearch 메소드
4.6 AndroidManifest.xml
4.7 맺음말
Chapter 5 국기 맞추기(Flag Quiz) 앱
5.1 소개
5.2 국기 맞추기 앱의 테스트 드라이브
5.2.1 앱을 가져오고 실행하기
5.2.2 퀴즈 설정
5.2.3 퀴즈 풀기
5.3 기술 개요
5.3.1 메뉴
5.3.2 프래그먼트
5.3.3 프래그먼트 생명주기 메소드
5.3.4 프래그먼트 다루기
5.3.5 환경 설정
5.3.6 assets 폴더
5.3.7 리소스 폴더
5.3.8 다양한 스크린 크기와 화면 해상도 지원
5.3.9 화면 크기 결정하기
5.3.10 메시지를 보여주기 위해 Toast 사용하기
5.3.11 Runnable을 실행하기 위해 Handler를 사용
5.3.12 뷰에 애니메이션 적용하기
5.3.13 예외 메시지 로깅하기
5.3.14 동일 앱의 다른 액티비티 실행을 위해 명시적 인텐트 사용하기
5.3.15 자바의 데이터 구조체
5.4 GUI와 리소스 파일 만들기
5.4.1 프로젝트 생성
5.4.2 string.xml과 포맷 스트링 리소스
5.4.3 arrays.xml
5.4.4 colors.xml
5.4.5 dimens.xml
5.4.6 activity_settings.xml 레이아웃
5.4.7 폰과 태블릿의 세로 방향에서 사용될 activity_main.xml 레이아웃
5.4.8 fragment_quiz.xml 레이아웃
5.4.9 태블릿의 가로 방향에 사용될 activity_main.xml 레이아웃
5.4.10 앱 설정을 지정하기 위한 preferences.xml
5.4.11 국기 흔들기 애니메이션 제작
5.5 MainActivity 클래스
5.5.1 package 구문과 import 구문과 필드
5.5.2 onCreate 메소드 재정의
5.5.3 Activity의 onStart 메소드 재정의
5.5.4 Activity 메소드의 onCreateOptionsMenu 재정의
5.5.5 Activity의 onOptionsItemSelected 메소드 재정의
5.5.6 onSharedPreferenceChangeListener를 구현하기 위한 익명 이너 클래스
5.6 QuizFragment 클래스
5.6.1 package 구문과 import 구문
5.6.2 필드
5.6.3 Fragment 메소드 onCreateView 재정의
5.6.4 updateGuessRows 메소드
5.6.5 updateRegions 메소드
5.6.6 resetQuiz 메소드
5.6.7 loadNextFlag 메소드
5.6.8 getCountryName 메소드
5.6.9 OnClickListener를 구현한 익명 이너 클래스
5.6.10 disableButtons 메소드
5.7 SettingsFragment 클래스
5.8 SettingsActivity 클래스
5.9 AndroidManifest.xml
5.10 맺음말
Chapter 6 대포 쏘기 게임 앱
6.1 소개
6.2 테스트 드라이브
6.3 기술 개요
6.3.1 커스텀 뷰를 레이아웃에 붙이기
6.3.2 raw 리소스 폴더 사용
6.3.3 액티비티와 프래그먼트 생명주기 메소드
6.3.4 View 클래스의 onTouchEvent 메소드 재정의
6.3.5 SoundPool과 AudioManager를 사용하여 사운드 추가
6.3.6 쓰레드를 이용한 프레임 바이 프레임 애니메이션, SurfaceView 그리고
SurfaceHolder
6.3.7 간단한 충돌 탐지
6.3.8 Paint와 Canvas를 사용하여 그래픽 그리기
6.4 앱의 GUI와 리소스 파일 만들기
6.4.1 프로젝트 생성
6.4.2 strings.xml
6.4.3 fragment_game.xml
6.4.4 activity_main.xml
6.4.5 앱에 사운드 파일 추가하기
6.5 선의 끝점을 연결하는 Line 클래스
6.6 액티비티의 서브 클래스 MainActivity 클래스
6.7 프래그먼트의 서브 클래스 CannonGameFragment
6.8 뷰의 서브 클래스 CannonView
6.8.1 package와 import 구문
6.8.2 인스턴스 변수와 상수
6.8.3 생성자
6.8.4 뷰의 onSizeChanged 메소드 재정의
6.8.5 newGame 메소드
6.8.6 updatePositions 메소드
6.8.7 fireCannonball 메소드
6.8.8 alignCannon 메소드
6.8.9 drawGameElements 메소드
6.8.10 showGameOverDialog 메소드
6.8.11 stopGame과 releaseResources 메소드
6.8.12 SurfaceHolder.Callback 메소드 구현
6.8.13 View의 onTouchEvent 메소드 재정의
6.8.14 CannonThread: 게임 루프를 생성하기 위해 Thread 사용
6.9 맺음말
Chapter 7 두들즈 앱
7.1 소개
7.2 기술 개요
7.2.1 Accelerometer 이벤트를 청취하기 위한 SensorManager의 사용
7.2.2 커스텀 DialogFragments
7.2.3 Canvas와 Bitmap을 이용하여 그리기
7.2.4 다중 터치 이벤트 처리와 Path로 선을 저장하기
7.2.5 안드로이드 4.4 이머시브 모드
7.2.6 GestureDetector와 SimpleOnGestureListener
7.2.7 디바이스 갤러리에 그림 저장하기
7.2.8 안드로이드 4.4 프린팅 기능과 안드로이드 지원
라이브러리의 PrintHelper 클래스
7.3 앱의 GUI와 리소스 파일 만들기
7.3.1 프로젝트 생성
7.3.2 strings.xml
7.3.3 dimens.xml
7.3.4 DoodleFragment의 메뉴
7.3.5 MainActivity의 레이아웃 activity_main.xml
7.3.6 DoodleFragment를 위한 fragment_doodle.xml 레이아웃
7.3.7 ColorDialogFragment를 위한 fragment_color.xml 레이아웃
7.3.8 LineWidthDialogFragment를 위한 fragment_line_width.xml 레이아웃
7.3.9 EraseImageDialogFragment 클래스 추가
7.4 MainActivity 클래스
7.5 DoodleFragment 클래스
7.6 DoodleView 클래스
7.7 ColorDialogFragment 클래스
7.8 LineWidthDialogFragment 클래스
7.9 EraseImageDialogFragment 클래스
7.10 맺음말
Chapter 8 주소록 앱
8.1 소개
8.2 주소록 앱 테스트 드라이브
8.3 기술 개요
8.3.1 FragmentTransaction를 이용하여 Fragment 보여주기
8.3.2 Fragment와 호스트 액티비티 간의 데이터 커뮤니케이션
8.3.3 onSaveInstanceState 메소드
8.3.4 스타일을 정의하고 GUI 컴포넌트에 테마 적용하기
8.3.5 TextView의 백그라운드 지정
8.3.6 ListView를 가지고 있는 Fragment를 생성하기 위한 ListFragment 클래스 상속
8.3.7 SQLite 데이터베이스 다루기
8.3.8 AsyncTask를 이용하여 GUI 쓰레드 외부에서 데이터베이스 작업 수행
8.4 GUI 및 리소스 파일 만들기
8.4.1 프로젝트 생성
8.4.2 앱의 클래스 만들기
8.4.3 strings.xml
8.4.4 styles.xml
8.4.5 textview_border.xml
8.4.6 MainActivity의 레이아웃: activity_main.xml
8.4.7 DetailsFragment의 레이아웃: fragment_details.xml
8.4.8 AddEditFragment 레이아웃: fragment_add_edit.xml
8.4.9 Fragment의 메뉴 정의
8.5 MainActivity 클래스
8.6 ContactListFragment 클래스
8.7 AddEditFragment 클래스
8.8 DetailsFragment 클래스
8.9 DatabaseConnector 유틸리티 클래스
8.10 맺음말
Chapter 9 구글 플레이와 앱 비즈니스 이슈
9.1 소개
9.2 앱 출시를 위한 준비
9.2.1 앱 테스트
9.2.2 최종 사용자 라이선스 계약
9.2.3 아이콘과 라벨
9.2.4 앱의 버전 관리
9.2.5 유료 앱에 접근제어를 위한 라이센싱
9.2.6 코드를 난독화하기
9.2.7 앱에 디지털 서명을 하기 위한 개인 키 얻기
9.2.8 스크린샷
9.2.9 앱 홍보 비디오
9.3 앱 가격 설정 : 무료 또는 유료
9.3.1 유료 앱
9.3.2 무료 앱
9.4 인-앱 광고를 이용하여 수익 창출하기
9.5 앱으로 수익창출 : 가상 상품을 팔기 위해 인-앱 빌링 사용하기
9.6 구글 플레이에 등록
9.7 구글 월렛 판매자 계정
9.8 구글 플레이에 앱을 업로드하기
9.9 앱 내에서 구글 플레이 실행하기
9.10 구글 플레이에서 앱을 관리하기
9.11 다른 안드로이드 마켓 플레이스
9.12 다른 모바일 앱 플랫폼
9.13 앱 마케팅하기
9.14 맺음말