3. 사용자 인터페이스
3.1. 개요
3.2. 레이아웃 선언하기
3.3. 메뉴 생성
3.4. 다이얼로그 생성
3.5. UI 이벤트 처리
3.6. 사용자에게 통보하기
3.7. 스타일과 테마 적용
3.8. 커스텀 컴포넌트 제작
3.9. 어댑터뷰를 사용한 데이터 바인딩
3.10. 일반적인 레이아웃 오브젝트
3.11. 안드로이드가 뷰를 그리는 방법
4. 리소스와 에셋
4.1. 리소스와 국제화
4.2. 사용가능한 리소스 타입
5. 인텐트와 인텐트 필터
5.1. 인텐트 오브젝트
5.2. 인텐트 확정
6. 데이터 저장공간
6.1. 프레퍼런스
6.2. 파일
6.3. 데이터베이스
6.4. 네트워크
7. 컨텐트 프로바이더
7.1. 컨텐트 프로바이더 기초
7.2. 컨텐트 프로바이더 쿼리하기
7.3. 프로바이더 데이터 수정하기
7.4. 컨텐트 프로바이더 생성
7.5. 컨텐트 URI 요약
8. 보안 및 퍼미션(Permission)
8.1. 보안 아키텍처
8.2. 애플리케이션 사인하기
8.3. 사용자 ID와 파일 접근
8.4. 퍼미션 사용하기
8.5. 퍼미션 선언 및 강제
8.6. URI 퍼미션
9. AndroidManifest.xml 파일
9.1. 매니페스트 파일 구조
9.2. 파일 규약
9.3. 파일 특성
9.4. <action>
9.5. <activity>
9.6. <activity-alias>
9.7. <application>
9.8. <data>
9.9. <grant-uri-permission>
9.10. <instrumentation>
9.11. <intent-filter>
9.12. <manifest>
9.13. <meta-data>
9.14. <permission>
9.15. <permission-group>
9.16. <permission-tree>
9.17. <provider>
9.18. <receiver>
9.19. <service>
9.20. <uses-configuration>
9.21. <uses-library>
9.22. <uses-permission>
9.23. <uses-sdk>
10. 그래픽
10.1. 개요
10.4. 2차원 그래픽
10.5. OpenGL을 사용하는 3차원 그래픽
11. 오디오 및 비디오
11.1. 오디오 및 비디오 재생
11.2. 오디오 캡쳐
11.3. 안드로이드 지원 미디어 포맷
12. 로케이션과 맵
12.1. 로케이션 서비스
12.2. 구글 맵 외부 라이브러리
13. App 위젯
13.1. 기초
13.2. 매니페스트에 App 위젯 선언하기
13.3. AppWidgetProviderInfo 메타 데이터 추가하기
13.4. App 위젯 레이아웃 생성하기
13.5. AppWidgetProvider 클래스 사용하기
13.6. App 위젯 설정 액티비티 생성하기
14. AIDL을 사용하여 원격 인터페이스 디자인하기
14.1. AIDL을 사용하여 IPC 구현하기
14.2. IPC 메쏘드 호출하기
15. 애플리케이션 사인하기(Signing)
15.1. 개요
15.2. 사인 전략
15.3. 사인을 위한 기초 셋업
15.4. 디버그 모드에서 사인하기
15.5. 공식 릴리즈를 위해 사인하기
15.6. 개인 키 보안유지
16. 애플리케이션 버전부여
16.1. 애플리케이션 버전 설정
16.2. 최소 시스템 API 버전 지정하기
17. 배포를 위한 준비 : 체크리스트
17.1. 애플리케이션 릴리즈 준비 이전 단계
17.2. 애플리케이션 최종 컴파일 이전 단계
17.3. 애플리케이션 컴파일 이후 단계
18. 애플리케이션 배포하기
18.1. 안드로이드 마켓에 배포하기
19. 성능을 위한 설계
19.1. 소개
19.2. 오브젝트 생성을 피하라
19.3. 네이티비(Native) 메쏘드를 사용하라
19.4. 인터페이스(Interface) 보다 버추얼(Virtual)을 선호하라
19.5. 내부적인 Getters/Setters를 피하라
19.6. 캐쉬 필드 룩업(Lookup)
19.7. 상수를 Final로 선언하라
19.8. Caution을 가지는 Loop 문법 확장을 사용하라
19.9. Enums을 피하라
19.10. 내부 클래스를 가지는 패지지 영역(Scope)을 사용하라
19.11. 부동소수점을 피하라
19.12. 약간의 샘플 성능 숫자들
19.13. 마무리 노트
20. 응답성을 위한 설계
20.1. 무엇이 ANR을 유발하는가?
20.2. 어떻게 ANR을 피할 것인가?
20.3. 응답성 강화하기
21. 무결절성을 위한 설계
21.1. 데이터를 누락하지 마라
21.2. 원시 데이터를 드러내지 마라
21.3. 사용자를 방해하지 마라
21.4. 해야 할 것이 많다면, 쓰레드에서 하라
21.5. 단일 액티비티 스크린에 오버로드를 주지 마라
21.6. 시스템 테마를 확장하라
21.7. UI가 다양한 스크린 해상도에서 작동하도록 디자인하라
21.8. 네트워크가 느리다는 것을 가정하라
21.9. 터치 스크린 또는 키보드를 가정하지 마라
21.10. 디바이스 배터리를 절약하라
22. 용어집
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
새로운 책이 출간되었네요 ㅎㅎ
Android, It's Morning Again in Mobile.
- 안드로이드, 모바일에 다시 온 아침!!
한 3만원 정도 하는 것 같구요. 이번 책은 안드로이드 사이트의 디벨로퍼 가이드를 번역한
책이라고 하네요. 아무쪼록 많은 도움이 될만한 책인것 같습니다.
< 목차 >
1. 안드로이드란 무엇인가?
1.1. 주요 특징
1.2. 안드로이드 아키텍처
1.3. 애플리케이션
1.4. 애플리케이션 프레임워크
1.5. 라이브러리
1.6. 안드로이드 런타임
1.7. 리눅스 커널
2. 애플리케이션 기초
2.1. 애플리케이션 컴포넌트
2.2. 액티비티와 태스크
2.3. 프로세스와 쓰레드
2.4. 컴포넌트 생명주기
3. 사용자 인터페이스
3.1. 개요
3.2. 레이아웃 선언하기
3.3. 메뉴 생성
3.4. 다이얼로그 생성
3.5. UI 이벤트 처리
3.6. 사용자에게 통보하기
3.7. 스타일과 테마 적용
3.8. 커스텀 컴포넌트 제작
3.9. 어댑터뷰를 사용한 데이터 바인딩
3.10. 일반적인 레이아웃 오브젝트
3.11. 안드로이드가 뷰를 그리는 방법
4. 리소스와 에셋
4.1. 리소스와 국제화
4.2. 사용가능한 리소스 타입
5. 인텐트와 인텐트 필터
5.1. 인텐트 오브젝트
5.2. 인텐트 확정
6. 데이터 저장공간
6.1. 프레퍼런스
6.2. 파일
6.3. 데이터베이스
6.4. 네트워크
7. 컨텐트 프로바이더
7.1. 컨텐트 프로바이더 기초
7.2. 컨텐트 프로바이더 쿼리하기
7.3. 프로바이더 데이터 수정하기
7.4. 컨텐트 프로바이더 생성
7.5. 컨텐트 URI 요약
8. 보안 및 퍼미션(Permission)
8.1. 보안 아키텍처
8.2. 애플리케이션 사인하기
8.3. 사용자 ID와 파일 접근
8.4. 퍼미션 사용하기
8.5. 퍼미션 선언 및 강제
8.6. URI 퍼미션
9. AndroidManifest.xml 파일
9.1. 매니페스트 파일 구조
9.2. 파일 규약
9.3. 파일 특성
9.4. <action>
9.5. <activity>
9.6. <activity-alias>
9.7. <application>
9.8. <data>
9.9. <grant-uri-permission>
9.10. <instrumentation>
9.11. <intent-filter>
9.12. <manifest>
9.13. <meta-data>
9.14. <permission>
9.15. <permission-group>
9.16. <permission-tree>
9.17. <provider>
9.18. <receiver>
9.19. <service>
9.20. <uses-configuration>
9.21. <uses-library>
9.22. <uses-permission>
9.23. <uses-sdk>
10. 그래픽
10.1. 개요
10.4. 2차원 그래픽
10.5. OpenGL을 사용하는 3차원 그래픽
11. 오디오 및 비디오
11.1. 오디오 및 비디오 재생
11.2. 오디오 캡쳐
11.3. 안드로이드 지원 미디어 포맷
12. 로케이션과 맵
12.1. 로케이션 서비스
12.2. 구글 맵 외부 라이브러리
13. App 위젯
13.1. 기초
13.2. 매니페스트에 App 위젯 선언하기
13.3. AppWidgetProviderInfo 메타 데이터 추가하기
13.4. App 위젯 레이아웃 생성하기
13.5. AppWidgetProvider 클래스 사용하기
13.6. App 위젯 설정 액티비티 생성하기
14. AIDL을 사용하여 원격 인터페이스 디자인하기
14.1. AIDL을 사용하여 IPC 구현하기
14.2. IPC 메쏘드 호출하기
15. 애플리케이션 사인하기(Signing)
15.1. 개요
15.2. 사인 전략
15.3. 사인을 위한 기초 셋업
15.4. 디버그 모드에서 사인하기
15.5. 공식 릴리즈를 위해 사인하기
15.6. 개인 키 보안유지
16. 애플리케이션 버전부여
16.1. 애플리케이션 버전 설정
16.2. 최소 시스템 API 버전 지정하기
17. 배포를 위한 준비 : 체크리스트
17.1. 애플리케이션 릴리즈 준비 이전 단계
17.2. 애플리케이션 최종 컴파일 이전 단계
17.3. 애플리케이션 컴파일 이후 단계
18. 애플리케이션 배포하기
18.1. 안드로이드 마켓에 배포하기
19. 성능을 위한 설계
19.1. 소개
19.2. 오브젝트 생성을 피하라
19.3. 네이티비(Native) 메쏘드를 사용하라
19.4. 인터페이스(Interface) 보다 버추얼(Virtual)을 선호하라
19.5. 내부적인 Getters/Setters를 피하라
19.6. 캐쉬 필드 룩업(Lookup)
19.7. 상수를 Final로 선언하라
19.8. Caution을 가지는 Loop 문법 확장을 사용하라
19.9. Enums을 피하라
19.10. 내부 클래스를 가지는 패지지 영역(Scope)을 사용하라
19.11. 부동소수점을 피하라
19.12. 약간의 샘플 성능 숫자들
19.13. 마무리 노트
20. 응답성을 위한 설계
20.1. 무엇이 ANR을 유발하는가?
20.2. 어떻게 ANR을 피할 것인가?
20.3. 응답성 강화하기
21. 무결절성을 위한 설계
21.1. 데이터를 누락하지 마라
21.2. 원시 데이터를 드러내지 마라
21.3. 사용자를 방해하지 마라
21.4. 해야 할 것이 많다면, 쓰레드에서 하라
21.5. 단일 액티비티 스크린에 오버로드를 주지 마라
21.6. 시스템 테마를 확장하라
21.7. UI가 다양한 스크린 해상도에서 작동하도록 디자인하라
21.8. 네트워크가 느리다는 것을 가정하라
21.9. 터치 스크린 또는 키보드를 가정하지 마라
21.10. 디바이스 배터리를 절약하라
22. 용어집