PART 1 인터넷 응용 프로그램
Chapter 01 안드로이드와 자바 기초 지식
01 안드로이드 아키텍처
02 안드로이드 컴포넌트와 생명주기
03 액티비티
04 서비스
4.1 스타트 서비스
4.2 바인드 서비스
05 브로드캐스트리시버
06 콘텐트프로바이더
07 컴포넌트 활성화
08 컴포넌트 종료
09 인텐트
9.1 인텐트 전송 메서드
9.2 인텐트 객체의 구성요소
9.3 펜딩인텐트
10 AsyncTask 클래스
10.1 AsyncTask 클래스의 파라미터 지정
10.2 AsyncTask 클래스의 진행 단계
10.3 기타 AsyncTask 메서드
11 스레드
11.1 스레드 구현
11.2 스레드 메서드
11.3 스레드 생명주기
11.4 스레드 동기화
11.5 wait/notify 메서드
11.6 스레드 Join
11.7 스레드 강제 종료
12 핸들러
13 Runtime와 Process 클래스
13.1 Runtime 클래스의 메서드들
13.2 Process 클래스의 메서드들
13.3 Runtime/Process 클래스의 사용 예
13.4 안드로이드 파일 퍼미션
14 안드로이드 기초 지식 마무리
Chapter 02 안드로이드 소켓 통신
01 소켓 통신 프로토콜
1.1 TCP 프로토콜
1.2 IP 헤더와 TCP 헤더
1.3 TCP 패킷 작동 원리
1.4 UDP 프로토콜
02 IP 주소
03 소켓 프로그램
3.1 InetAddress 클래스
3.2 InetAddress 클래스의 메서드
3.3 InetAddress 클래스의 사용방법
3.4 SocketAddress 클래스
3.5 NetworkInterface 클래스
04 소켓 통신과 스레드
05 서버소켓 프로그램
5.1 서버 프로그램 절차
5.2 ServerSocket 클래스의 메서드
5.3 FTP 프로토콜
5.4 FTP 서버 안드로이드 구현
06 소켓 통신과 스트림
07 소켓 프로그램
7.1 클라이언트 프로그램 절차
7.2 소켓 클래스의 메서드
7.3 소켓 타임아웃 설정
7.4 클라이언트 소켓 프로그램 사용 예
08 데이터그램 소켓과 패킷
8.1 UDP 프로그램 절차
8.2 DatagramSocket과 DatagramPacket 클래스
8.3 DatagramSocket 사용 예제
8.4 DatagramPacket 읽고 쓰기
09 안드로이드 소켓 통신 마무리
Chapter 03 통신과 스트림
01 자바 스트림
1.1 바이트 스트림와 문자 스트림
1.2 노드 스트림과 필터 스트림
02 유니코드와 문자 스트림
2.1 UTF-8
2.2 자바의 MUTF-8
03 객체 직렬화
04 바이트 스트림
4.1 InputStream의 주요 메서드
4.2 OutputStream의 주요 메서드
05 파일 스트림 클래스
5.1 파일 스트림 클래스의 생성자
5.2 파일 스트림의 메서드
5.3 파일 스트림의 사용 예
06 바이트 배열 스트림 클래스
6.1 바이트배열 스트림의 주요 메서드
6.2 바이트 배열 스트림 사용 예제
07 데이터 스트림 클래스
7.1 데이터 스트림의 생성자
7.2 데이터 스트림의 주요 메서드
7.3 데이터 스트림의 사용 예
08 객체 스트림 클래스
8.1 객체 스트림의 주요 메서드
8.2 객체 스트림의 사용 예
09 PushbackInputStream 클래스
9.1 PushbackInputStream의 주요 메서드
9.2 PushbackInputStream의 사용 예
10 문자 스트림
10.1 Reader 클래스의 메서드
10.2 Writer 클래스의 메서드
11 InputStreamReader와 OutputStreamWriter 클래스
12 파일 문자 스트림 클래스
12.1 FileReader와 FileWriter 사용 예
13 버퍼 문자 스트림 클래스
14 문자배열 스트림 클래스
15 문자열 스트림 클래스
16 StreamTokenizer 클래스
17 LineNumberReader 클래스
18 스트림의 압축과 복원
18.1 GZIPOutputStream 클래스
18.2 GZIPInputStream 클래스
18.3 ZIPOutputStream 클래스
18.4 ZIPInputStream 클래스
19 체크섬 스트림 클래스
20 제이슨 클래스
21 통신과 스트림 마무리
Chapter 04 소켓 채널 통신
01 소켓 통신의 문제점
02 소켓 채널의 기본원리
03 소켓 채널의 작업 순서
3.1 서버 소켓 채널의 작업 예
3.2 클라이언트 소켓 채널의 작업 예
04 NIO 버퍼 관리
05 채널 인터페이스
5.1 Channel 인터페이스
5.2 InterruptibleChannel 인터페이스
5.3 ReadableByteChannel 인터페이스
5.4 WritableByteChannel 인터페이스
5.5 ScatteringByteChannel와 GatheringByteChannel 인터페이스
5.6 ByteChannel 인터페이스
06 채널 패키지
6.1 SelectableChannel 클래스
6.2 Selector 클래스
6.3 SelectionKey 클래스
6.4 ServerSocketChannel과 SocketChannel 클래스
6.5 DatagramChannel 클래스
6.6 Channels 클래스
07 클라이언트 소켓 채널 구현
08 Charset 패키지
09 ServerSocketChannel 구현 예제-1
10 ServerSocketChannel 구현 예제-2
11 소켓 채널 통신 마무리
Chapter 05 URL & URLConnection
01 HTTP 프로토콜과 메시지
1.1 HTTP 요청 라인
1.2 HTTP 상태 라인
1.3 메시지 헤더
1.4 일반 헤더
1.5 요청 헤더
1.6 응답 헤더
1.7 엔티티 헤더
1.8 엔티티 본문
02 URI와 URL
2.1 URL 생성
2.2 URL 메서드
2.3 URL로 직접 호출
03 URLEncoder 클래스
04 URLConnection 클래스
4.1 URLConnection 클래스의 스트림
4.2 URLConnection 메서드
4.3 URLConnection 활용 예
05 HttpURLConnection 클래스
06 HTTP 쿠키
07 HTTP 사용자 인증
7.1 HTTP 사용자 기본 접근 인증
7.2 HTTP 다이제스트 인증
08 URL & URLConnection 마무리
Chapter 06 아파치 HttpClient 컴포넌트
01 HttpClient 컴포넌트의 지원 버전
02 HttpClient 컴포넌트의 사용방법
03 HTTP 메서드
3.1 HTTP GET 메서드의 사용 예
3.2 HTTP POST 메서드의 사용 예
3.3 HTTP 메서드 에러
3.4 HTTP 리소스 해제
3.5 안드로이드 애플리케이션 개발 시 주의사항
04 HTTP 요청 메시지
4.1 HTTP 기본 요청 메시지 수정
4.2 기본 소켓 설정 값 변경
05 HTTP 응답 메시지
06 애플리케이션 자동 패치 예제
6.1 웹사이트 제공 버전 읽기
6.2 설치 버전과 비교 분석
6.3 다운로드 작업
6.4 다운로드 파일 설치 작업
07 HttpClient 커스텀 작업
7.1 HTTP 소켓 생성
7.2 프로토콜 스킴
7.3 SSLSocketFactory 클래스
7.4 HTTP 컨텍스트
7.5 HTTP 연결관리자
7.6 HTTP 호스트와 라우트 설정
7.7 HTTP 멀티 요청 메시지
7.8 연결 개수와 라우트 개수 조정
08 HTTP 쿠키
8.1 쿠키 정책 적용
8.2 쿠키 생성과 저장
09 HTTP 기본 접근 인증
9.1 사용자 자격
9.2 자격 공급자
9.3 사용자 인증 예제
10 HTTPS 사용자 인증
11 AndroidHttpClient 클래스 소개
12 아파치 HttpClient 마무리
Chapter 07 안드로이드 계정관리 및 서버 동기화
01 계정관리자
02 구글 인증 프로세스
2.1 구글 인증 ClientLogin
2.2 유튜브 사용자 인증과 업로드
03 계정인증자
3.1 계정인증자 서비스 프로그램 작성
3.2 XML 메타데이터 파일 작성
3.3 AbstractAccountAuthenticator 클래스
04 AbstractAccountAuthenticator
클래스의 메서드
4.1 addAccount 메서드
4.2 confirmCredentials 메서드
4.3 editProperties 메서드
4.4 getAuthToken 메서드
4.5 getAuthTokenLabel 메서드
4.6 hasFeatures 메서드
4.7 updateCredentials 메서드
05 계정인증자 액티비티 작성
06 안드로이드 계정 등록과 읽기
6.1 AccountManager 인스턴스 생성
6.2 사용자 계정 생성
6.3 기존 계정 읽기
6.4 인증 토큰 요청
6.5 AccountManager 클래스의 사용 예 1
6.6 AccountManager 클래스의 사용 예 2
6.7 유튜브 인증토큰 사용 예
07 싱크관리자
7.1 안드로이드 동기화 방식
08 싱크어댑터
8.1 싱크어댑터 서비스 작성
8.2 메타데이터 XML 파일 작성
09 싱크어댑터 클래스
9.1 onPerformSync 메서드
9.2 싱크어댑터 실행
10 안드로이드 계정과 서버동기화 마무리
PART 2 통신 시스템 프로그램
Chapter 08 3세대 무선 이동통신
01 Access Point Name
02 무선이동통신 네트워크
03 SMS/MMS 설정
04 안드로이드 테스트 설정
05 무선 데이터 네트워크 관리
5.1 APN 변경 작업
06 3세대 무선 이동통신 마무리
Chapter 09 SMS와 MMS
01 SmsManager와 SmsMessage 클래스
1.1 SmsManager 클래스
1.2 SmsMessage 클래스
02 SMS 발신과 결과 확인 작업
03 SMS Message 수신
04 SMS 메시지 수신과 파워 관리
4.1 PowerManager 클래스
4.2 SMS 메시지 수신과 파워 관리 예제
05 SMS/MMS와 콘텐트프로바이드 URI
06 SMS와 MMS 마무리
Chapter 10 안드로이드 블루투스 통신
01 블루투스 아키텍처
02 블루투스 네트워크
2.1 외부 블루투스 검색
2.2 블루투스 모드
03 안드로이드 블루투스
3.1 블루투스 퍼미션
04 블루투스 모듈의 활성화
4.1 블루투스 지원 확인 작업
4.2 블루투스 활성화
05 블루투스 검색
5.1 페어링된 블루투스 쿼리
5.2 블루투스 기기 검색
5.3 검색응답 모드
06 블루투스 데이터 네트워크 연결
6.1 서버로 동작
6.2 클라이언트로 동작
07 데이터 송신과 수신 작업
08 블루투스 작업 종료
09 android.bluetooth 패키지
9.1 BluetoothAdapter 클래스
9.2 BluetoothDevice 클래스
9.3 BluetoothSocket 클래스
9.4 BluetoothServerSocket 클래스
9.5 BluetoothClass 클래스
10 블루투스 데이터 통신 예제
11 안드로이드 블루투스 통신 마무리
Chapter 11 전화수신과 블루투스 헤드셋
01 블루투스의 음성 기술
1.1 블루투스 헤드셋 프로그램 개발
1.2 IBluetoothHeadset.aidl 인터페이스 구현
1.3 BluetoothHeadset 프로그램 작성
02 전화 수신과 통화
2.1 사용 권한 확보
2.2 ITelephony.aidl 인터페이스 구현
2.3 브로드캐스트 리시버 프로그램
2.4 서비스 프로그램 작성
2.5 블루투스 헤드셋 활성화
2.6 다른 프로그램으로 수신전화 이전
2.7 ITelephony 리플렉션
2.8 전화 통화 종료
03 전화통화 기능 설정
04 ITelephony.aidl 메서드
05 전화수신과 블루투스 헤드셋 마무리
Chapter 12 안드로이드 와이파이 통신
01 무선랜이란
1.1 무선 LAN의 구성요소
1.2 용어 해설
1.3 와이파이 규격
1.4 무선 보안 기술
02 안드로이드 와이파이
2.1 와이파이 퍼미션
2.2 와이파이 활성화
03 와이파이 스캔
3.1 ScanResult 클래스
04 와이파이 환경설정
4.1 WifiConfiguration 클래스
4.2 WifiManager 클래스
4.3 와이파이 환경설정
05 와이파이 네트워크 연결
5.1 네트워크 정보 읽기
5.2 기타 네트워크 비활성화
5.3 네트워크 연결 우선순위 조정
06 와이파이 상태 정보 확인
6.1 WifiInfo 클래스
6.2 브로드캐스트 리시버
07 와이파이 록 설정
7.1 WifiManager.WifiLock 클래스
7.2 WifiManager.WifiLock 클래스 사용 예
7.3 WifiManager.MulticastLock 클래스
08 인터넷 서비스 우선순위 설정
09 와이파이 마무리
Chapter 13 위치기반 서비스
01 안드로이드 위치정보 서비스
02 지리 좌표 체계
03 Location 서비스
3.1 사용자 퍼미션
3.2 위치 업데이트
3.3 위치정보사업자 선정
3.4 근접 경보 기능
04 android.location 패키지
4.1 Criteria 클래스
4.2 LocationManager 클래스 메서드
4.3 Location 클래스
05 위치 정확성 유지
06 거리 측정
07 구글 맵
7.1 구글 맵 사용방법
08 ''com.google.android.maps'' 패키지
8.1 MapView 클래스
8.2 MapActivity 클래스
8.3 MapController 클래스
8.4 ItemizedOverlay 클래스
8.5 MyLocationOverlay 클래스
8.6 OverlayItem 클래스
09 줌 기능과 위치 설정
10 아이템 오버레이 작업
11 구글 맵 사용 예제
12 위치기반 서비스 마무리
Chapter 14 네트워크 시스템 관리
01 네트워크 연결 상태 확인
1.1 ConnectivityManager 클래스
1.2 네트워크 연결 확인
1.3 네트워크 변경 브로드캐스트
02 네트워크 세부정보 확인
2.1 NetworkInfo 클래스
2.2 네트워크 세부정보 확인
03 안드로이드 edify
3.1 edify 언어의 특성
3.2 논리 연산자
3.3 진행 연산자
3.4 edify 매크로 명령어
04 안드로이드 프로퍼티
4.1 프러퍼티 시스템 작동 원리
4.2 프로퍼티 특성
4.3 프로그램에서 프로퍼티 읽고 쓰기
05 네트워크 시스템 관리 마무리
Chapter 15 테더링과 애드혹 서비스
01 안드로이드 환경 분석
1.1 root 권한 확보
1.2 Netfilter 패키지 설치 확인
1.3 데몬 실행 확인 작업
1.4 패킷 포워딩
02 파일 복사와 실행 모드 변경
03 DNS & DHCP 서버 구축
3.1 DNS 서비스
3.2 DHCP 서비스
3.3 DNS & DHCP 서버 실행
04 블루투스 애드혹 설정
05 와이파이 애드혹 설정
5.1 와이파이 드라이버와 인터페이스
5.2 wpa_supplicant.conf 설정 작업
06 IP 주소 설정
07 라우팅 테이블 설정
08 Netfilter 패키지 설정
8.1 iptables 명령어
09 테더링 퍼미션
10 테더링 실행
11 안드로이드 생명주기 고려
12 테더링과 애드혹의 마무리
APPENDIX
01 메모리 관리와 mmap
02 블루투스 아키텍처
03 블루투스 프로파일
04 블루투스 보안
05 wpa_supplicant 상태 값
06 NetworkInfo.DetailedState 상태 값
07 HttpURLConnection 응답 상수
08 HTTP 상태코드
09 엔디언
10 안드로이드 퍼미션
11 구글맵 사용 API KEY 얻기
12 용어 설명
Chapter 01 안드로이드와 자바 기초 지식
01 안드로이드 아키텍처
02 안드로이드 컴포넌트와 생명주기
03 액티비티
04 서비스
4.1 스타트 서비스
4.2 바인드 서비스
05 브로드캐스트리시버
06 콘텐트프로바이더
07 컴포넌트 활성화
08 컴포넌트 종료
09 인텐트
9.1 인텐트 전송 메서드
9.2 인텐트 객체의 구성요소
9.3 펜딩인텐트
10 AsyncTask 클래스
10.1 AsyncTask 클래스의 파라미터 지정
10.2 AsyncTask 클래스의 진행 단계
10.3 기타 AsyncTask 메서드
11 스레드
11.1 스레드 구현
11.2 스레드 메서드
11.3 스레드 생명주기
11.4 스레드 동기화
11.5 wait/notify 메서드
11.6 스레드 Join
11.7 스레드 강제 종료
12 핸들러
13 Runtime와 Process 클래스
13.1 Runtime 클래스의 메서드들
13.2 Process 클래스의 메서드들
13.3 Runtime/Process 클래스의 사용 예
13.4 안드로이드 파일 퍼미션
14 안드로이드 기초 지식 마무리
Chapter 02 안드로이드 소켓 통신
01 소켓 통신 프로토콜
1.1 TCP 프로토콜
1.2 IP 헤더와 TCP 헤더
1.3 TCP 패킷 작동 원리
1.4 UDP 프로토콜
02 IP 주소
03 소켓 프로그램
3.1 InetAddress 클래스
3.2 InetAddress 클래스의 메서드
3.3 InetAddress 클래스의 사용방법
3.4 SocketAddress 클래스
3.5 NetworkInterface 클래스
04 소켓 통신과 스레드
05 서버소켓 프로그램
5.1 서버 프로그램 절차
5.2 ServerSocket 클래스의 메서드
5.3 FTP 프로토콜
5.4 FTP 서버 안드로이드 구현
06 소켓 통신과 스트림
07 소켓 프로그램
7.1 클라이언트 프로그램 절차
7.2 소켓 클래스의 메서드
7.3 소켓 타임아웃 설정
7.4 클라이언트 소켓 프로그램 사용 예
08 데이터그램 소켓과 패킷
8.1 UDP 프로그램 절차
8.2 DatagramSocket과 DatagramPacket 클래스
8.3 DatagramSocket 사용 예제
8.4 DatagramPacket 읽고 쓰기
09 안드로이드 소켓 통신 마무리
Chapter 03 통신과 스트림
01 자바 스트림
1.1 바이트 스트림와 문자 스트림
1.2 노드 스트림과 필터 스트림
02 유니코드와 문자 스트림
2.1 UTF-8
2.2 자바의 MUTF-8
03 객체 직렬화
04 바이트 스트림
4.1 InputStream의 주요 메서드
4.2 OutputStream의 주요 메서드
05 파일 스트림 클래스
5.1 파일 스트림 클래스의 생성자
5.2 파일 스트림의 메서드
5.3 파일 스트림의 사용 예
06 바이트 배열 스트림 클래스
6.1 바이트배열 스트림의 주요 메서드
6.2 바이트 배열 스트림 사용 예제
07 데이터 스트림 클래스
7.1 데이터 스트림의 생성자
7.2 데이터 스트림의 주요 메서드
7.3 데이터 스트림의 사용 예
08 객체 스트림 클래스
8.1 객체 스트림의 주요 메서드
8.2 객체 스트림의 사용 예
09 PushbackInputStream 클래스
9.1 PushbackInputStream의 주요 메서드
9.2 PushbackInputStream의 사용 예
10 문자 스트림
10.1 Reader 클래스의 메서드
10.2 Writer 클래스의 메서드
11 InputStreamReader와 OutputStreamWriter 클래스
12 파일 문자 스트림 클래스
12.1 FileReader와 FileWriter 사용 예
13 버퍼 문자 스트림 클래스
14 문자배열 스트림 클래스
15 문자열 스트림 클래스
16 StreamTokenizer 클래스
17 LineNumberReader 클래스
18 스트림의 압축과 복원
18.1 GZIPOutputStream 클래스
18.2 GZIPInputStream 클래스
18.3 ZIPOutputStream 클래스
18.4 ZIPInputStream 클래스
19 체크섬 스트림 클래스
20 제이슨 클래스
21 통신과 스트림 마무리
Chapter 04 소켓 채널 통신
01 소켓 통신의 문제점
02 소켓 채널의 기본원리
03 소켓 채널의 작업 순서
3.1 서버 소켓 채널의 작업 예
3.2 클라이언트 소켓 채널의 작업 예
04 NIO 버퍼 관리
05 채널 인터페이스
5.1 Channel 인터페이스
5.2 InterruptibleChannel 인터페이스
5.3 ReadableByteChannel 인터페이스
5.4 WritableByteChannel 인터페이스
5.5 ScatteringByteChannel와 GatheringByteChannel 인터페이스
5.6 ByteChannel 인터페이스
06 채널 패키지
6.1 SelectableChannel 클래스
6.2 Selector 클래스
6.3 SelectionKey 클래스
6.4 ServerSocketChannel과 SocketChannel 클래스
6.5 DatagramChannel 클래스
6.6 Channels 클래스
07 클라이언트 소켓 채널 구현
08 Charset 패키지
09 ServerSocketChannel 구현 예제-1
10 ServerSocketChannel 구현 예제-2
11 소켓 채널 통신 마무리
Chapter 05 URL & URLConnection
01 HTTP 프로토콜과 메시지
1.1 HTTP 요청 라인
1.2 HTTP 상태 라인
1.3 메시지 헤더
1.4 일반 헤더
1.5 요청 헤더
1.6 응답 헤더
1.7 엔티티 헤더
1.8 엔티티 본문
02 URI와 URL
2.1 URL 생성
2.2 URL 메서드
2.3 URL로 직접 호출
03 URLEncoder 클래스
04 URLConnection 클래스
4.1 URLConnection 클래스의 스트림
4.2 URLConnection 메서드
4.3 URLConnection 활용 예
05 HttpURLConnection 클래스
06 HTTP 쿠키
07 HTTP 사용자 인증
7.1 HTTP 사용자 기본 접근 인증
7.2 HTTP 다이제스트 인증
08 URL & URLConnection 마무리
Chapter 06 아파치 HttpClient 컴포넌트
01 HttpClient 컴포넌트의 지원 버전
02 HttpClient 컴포넌트의 사용방법
03 HTTP 메서드
3.1 HTTP GET 메서드의 사용 예
3.2 HTTP POST 메서드의 사용 예
3.3 HTTP 메서드 에러
3.4 HTTP 리소스 해제
3.5 안드로이드 애플리케이션 개발 시 주의사항
04 HTTP 요청 메시지
4.1 HTTP 기본 요청 메시지 수정
4.2 기본 소켓 설정 값 변경
05 HTTP 응답 메시지
06 애플리케이션 자동 패치 예제
6.1 웹사이트 제공 버전 읽기
6.2 설치 버전과 비교 분석
6.3 다운로드 작업
6.4 다운로드 파일 설치 작업
07 HttpClient 커스텀 작업
7.1 HTTP 소켓 생성
7.2 프로토콜 스킴
7.3 SSLSocketFactory 클래스
7.4 HTTP 컨텍스트
7.5 HTTP 연결관리자
7.6 HTTP 호스트와 라우트 설정
7.7 HTTP 멀티 요청 메시지
7.8 연결 개수와 라우트 개수 조정
08 HTTP 쿠키
8.1 쿠키 정책 적용
8.2 쿠키 생성과 저장
09 HTTP 기본 접근 인증
9.1 사용자 자격
9.2 자격 공급자
9.3 사용자 인증 예제
10 HTTPS 사용자 인증
11 AndroidHttpClient 클래스 소개
12 아파치 HttpClient 마무리
Chapter 07 안드로이드 계정관리 및 서버 동기화
01 계정관리자
02 구글 인증 프로세스
2.1 구글 인증 ClientLogin
2.2 유튜브 사용자 인증과 업로드
03 계정인증자
3.1 계정인증자 서비스 프로그램 작성
3.2 XML 메타데이터 파일 작성
3.3 AbstractAccountAuthenticator 클래스
04 AbstractAccountAuthenticator
클래스의 메서드
4.1 addAccount 메서드
4.2 confirmCredentials 메서드
4.3 editProperties 메서드
4.4 getAuthToken 메서드
4.5 getAuthTokenLabel 메서드
4.6 hasFeatures 메서드
4.7 updateCredentials 메서드
05 계정인증자 액티비티 작성
06 안드로이드 계정 등록과 읽기
6.1 AccountManager 인스턴스 생성
6.2 사용자 계정 생성
6.3 기존 계정 읽기
6.4 인증 토큰 요청
6.5 AccountManager 클래스의 사용 예 1
6.6 AccountManager 클래스의 사용 예 2
6.7 유튜브 인증토큰 사용 예
07 싱크관리자
7.1 안드로이드 동기화 방식
08 싱크어댑터
8.1 싱크어댑터 서비스 작성
8.2 메타데이터 XML 파일 작성
09 싱크어댑터 클래스
9.1 onPerformSync 메서드
9.2 싱크어댑터 실행
10 안드로이드 계정과 서버동기화 마무리
PART 2 통신 시스템 프로그램
Chapter 08 3세대 무선 이동통신
01 Access Point Name
02 무선이동통신 네트워크
03 SMS/MMS 설정
04 안드로이드 테스트 설정
05 무선 데이터 네트워크 관리
5.1 APN 변경 작업
06 3세대 무선 이동통신 마무리
Chapter 09 SMS와 MMS
01 SmsManager와 SmsMessage 클래스
1.1 SmsManager 클래스
1.2 SmsMessage 클래스
02 SMS 발신과 결과 확인 작업
03 SMS Message 수신
04 SMS 메시지 수신과 파워 관리
4.1 PowerManager 클래스
4.2 SMS 메시지 수신과 파워 관리 예제
05 SMS/MMS와 콘텐트프로바이드 URI
06 SMS와 MMS 마무리
Chapter 10 안드로이드 블루투스 통신
01 블루투스 아키텍처
02 블루투스 네트워크
2.1 외부 블루투스 검색
2.2 블루투스 모드
03 안드로이드 블루투스
3.1 블루투스 퍼미션
04 블루투스 모듈의 활성화
4.1 블루투스 지원 확인 작업
4.2 블루투스 활성화
05 블루투스 검색
5.1 페어링된 블루투스 쿼리
5.2 블루투스 기기 검색
5.3 검색응답 모드
06 블루투스 데이터 네트워크 연결
6.1 서버로 동작
6.2 클라이언트로 동작
07 데이터 송신과 수신 작업
08 블루투스 작업 종료
09 android.bluetooth 패키지
9.1 BluetoothAdapter 클래스
9.2 BluetoothDevice 클래스
9.3 BluetoothSocket 클래스
9.4 BluetoothServerSocket 클래스
9.5 BluetoothClass 클래스
10 블루투스 데이터 통신 예제
11 안드로이드 블루투스 통신 마무리
Chapter 11 전화수신과 블루투스 헤드셋
01 블루투스의 음성 기술
1.1 블루투스 헤드셋 프로그램 개발
1.2 IBluetoothHeadset.aidl 인터페이스 구현
1.3 BluetoothHeadset 프로그램 작성
02 전화 수신과 통화
2.1 사용 권한 확보
2.2 ITelephony.aidl 인터페이스 구현
2.3 브로드캐스트 리시버 프로그램
2.4 서비스 프로그램 작성
2.5 블루투스 헤드셋 활성화
2.6 다른 프로그램으로 수신전화 이전
2.7 ITelephony 리플렉션
2.8 전화 통화 종료
03 전화통화 기능 설정
04 ITelephony.aidl 메서드
05 전화수신과 블루투스 헤드셋 마무리
Chapter 12 안드로이드 와이파이 통신
01 무선랜이란
1.1 무선 LAN의 구성요소
1.2 용어 해설
1.3 와이파이 규격
1.4 무선 보안 기술
02 안드로이드 와이파이
2.1 와이파이 퍼미션
2.2 와이파이 활성화
03 와이파이 스캔
3.1 ScanResult 클래스
04 와이파이 환경설정
4.1 WifiConfiguration 클래스
4.2 WifiManager 클래스
4.3 와이파이 환경설정
05 와이파이 네트워크 연결
5.1 네트워크 정보 읽기
5.2 기타 네트워크 비활성화
5.3 네트워크 연결 우선순위 조정
06 와이파이 상태 정보 확인
6.1 WifiInfo 클래스
6.2 브로드캐스트 리시버
07 와이파이 록 설정
7.1 WifiManager.WifiLock 클래스
7.2 WifiManager.WifiLock 클래스 사용 예
7.3 WifiManager.MulticastLock 클래스
08 인터넷 서비스 우선순위 설정
09 와이파이 마무리
Chapter 13 위치기반 서비스
01 안드로이드 위치정보 서비스
02 지리 좌표 체계
03 Location 서비스
3.1 사용자 퍼미션
3.2 위치 업데이트
3.3 위치정보사업자 선정
3.4 근접 경보 기능
04 android.location 패키지
4.1 Criteria 클래스
4.2 LocationManager 클래스 메서드
4.3 Location 클래스
05 위치 정확성 유지
06 거리 측정
07 구글 맵
7.1 구글 맵 사용방법
08 ''com.google.android.maps'' 패키지
8.1 MapView 클래스
8.2 MapActivity 클래스
8.3 MapController 클래스
8.4 ItemizedOverlay 클래스
8.5 MyLocationOverlay 클래스
8.6 OverlayItem 클래스
09 줌 기능과 위치 설정
10 아이템 오버레이 작업
11 구글 맵 사용 예제
12 위치기반 서비스 마무리
Chapter 14 네트워크 시스템 관리
01 네트워크 연결 상태 확인
1.1 ConnectivityManager 클래스
1.2 네트워크 연결 확인
1.3 네트워크 변경 브로드캐스트
02 네트워크 세부정보 확인
2.1 NetworkInfo 클래스
2.2 네트워크 세부정보 확인
03 안드로이드 edify
3.1 edify 언어의 특성
3.2 논리 연산자
3.3 진행 연산자
3.4 edify 매크로 명령어
04 안드로이드 프로퍼티
4.1 프러퍼티 시스템 작동 원리
4.2 프로퍼티 특성
4.3 프로그램에서 프로퍼티 읽고 쓰기
05 네트워크 시스템 관리 마무리
Chapter 15 테더링과 애드혹 서비스
01 안드로이드 환경 분석
1.1 root 권한 확보
1.2 Netfilter 패키지 설치 확인
1.3 데몬 실행 확인 작업
1.4 패킷 포워딩
02 파일 복사와 실행 모드 변경
03 DNS & DHCP 서버 구축
3.1 DNS 서비스
3.2 DHCP 서비스
3.3 DNS & DHCP 서버 실행
04 블루투스 애드혹 설정
05 와이파이 애드혹 설정
5.1 와이파이 드라이버와 인터페이스
5.2 wpa_supplicant.conf 설정 작업
06 IP 주소 설정
07 라우팅 테이블 설정
08 Netfilter 패키지 설정
8.1 iptables 명령어
09 테더링 퍼미션
10 테더링 실행
11 안드로이드 생명주기 고려
12 테더링과 애드혹의 마무리
APPENDIX
01 메모리 관리와 mmap
02 블루투스 아키텍처
03 블루투스 프로파일
04 블루투스 보안
05 wpa_supplicant 상태 값
06 NetworkInfo.DetailedState 상태 값
07 HttpURLConnection 응답 상수
08 HTTP 상태코드
09 엔디언
10 안드로이드 퍼미션
11 구글맵 사용 API KEY 얻기
12 용어 설명