목차
제1장 무선 인터넷의 기초
1.1 무선 인터넷의 개요 = 14
1.1.1 무선 인터넷이란? = 14
1.1.2 무선 인터넷망 = 14
1.1.3 온라인 인터넷과 무선 인터넷 비교 = 15
1.1.4 무선 인터넷의 미래 = 17
1.2 브라우저 기반의 무선 기술 = 18
1.2.1 WAP = 18
1. WAP의 정의 = 18
2. WAP에 대한 개요 = 19
1.2.2 ME(Mobile Explorer) = 22
1. ME의 정의 = 22
2. ME의 특징과 기능 = 23
1.3 애플리케이션 기반의 무선 기술 = 24
1.3.1 GVM 대 KVM = 24
1. GVM = 24
2. KVM = 25
1.4 결론 = 27
제2장 Personal Java 프로그래밍
2.1 개념 = 32
2.1.1 Personal Java = 32
2.1.2 Embedded Java JavaCard = 32
2.1.3 J2ME와 Personal Java = 33
2.2 Personal Java Specification = 34
2.2.1 Personal Java Application Environment(PJAE) = 34
2.2.2 PJAE API의 분류 = 35
1. 필수 API = 36
2. 선택 API = 36
3. 미지원 API = 36
4. 변경 API = 36
5. PJAE-전용 API = 37
6. 최소 PJAE = 37
2.2.3 PJAE API의 대표적 요소 = 37
2.2.4 PJAE 요약 = 46
2.2.5 Embedded Java Application Environment(EJAE) = 47
2.3 PJAE를 위한 프로그래밍 = 48
2.3.1 최소 PJAE의 구현 = 48
2.3.2 사용자 개입의 최소화 = 48
2.3.3 효율성을 고려한 설계 = 48
2.4 효율성을 고려한 Personal Java 프로그램 설계 = 49
2.4.1 효율성이 의심스러우면 Java를 사용하지 말라 = 49
2.4.2 효율성을 높일 수 있는 모든 요소를 고려하라 = 50
2.4.3 효율성을 짐작하지 말고 측정과 실험에 의존하라 = 50
2.4.4 가능한 많은 작업을 서버로 이전하라 = 54
2.4.5 프로그램 구조를 단순화하라 = 55
2.4.6 보다 작은 규모의 프로그램으로 배포하라 = 55
2.5 실행 시간과 기억장소의 최적화를 위한 프로그래밍 = 57
2.5.1 객체 생성의 비용을 이해하라 = 57
2.5.2 보다 적은 수의 객체를 생성하라 = 58
2.5.3 경량급 객체를 추구하라 = 60
2.5.4 객체보다는 기본형과 배열을 활용하라 = 62
2.5.5 가비지 수집에 의존하지 말고 불필요한 자원을 최대한 빨리 회수하라 = 64
2.5.6 필드나 정적 변수 대신 지역 변수를 사용하라 = 64
2.5.7 문자열 접속에는 String 대신 StringBuffer를 사용하라 = 66
2.5.8 불필요한 계산을 피하라 = 67
2.5.9 반응성이 높은 시스템을 위해 스레드를 사용하되 불필요한 동기화를 피하라 = 69
2.5.10 클래스의 개수를 적절히 조절하라 = 71
2.5.11 Native code를 직접 지원하는 명령을 사용하라 = 73
2.5.12 원시 코드를 수작업으로 최적화하라 = 73
2.6 PJAE를 위한 프로그램 개발 = 77
2.6.1 JavaCheck = 78
2.6.2 PJEE = 82
2.6.3 주요 구현사와 제품 = 84
2.7 Personal Java 프로그래밍을 위한 프레임워크 = 87
2.7.1 GUI 객체의 레이아웃 = 87
2.7.2 UI 코드와 Business Logic의 분리 = 91
2.7.3 사용자 대화 모델의 추상화 = 92
2.7.4 메뉴 처리 모듈의 작성 = 97
2.7.5 Afterthought = 98
2.8 Personal Java 프로그램 개발 사례 : e-Spider = 99
2.8.1 e-Spider의 대화 모델 = 100
2.8.2 웹 자동화 및 클리핑 미들웨어 Wire 개요 = 101
2.8.3 서비스 스크립트의 예 = 102
2.8.4 Personal Java를 위한 Wire 클라이언트 모듈 = 104
2.8.5 메뉴 처리 모듈 News 작성의 예 = 109
2.9 Personal Java 프로그램의 배포 = 112
2.9.1 Personal Java 가상머신의 설치 = 112
2.9.2 클래스 파일 형식의 배포 = 114
2.9.3 단축 링크 형식의 배포 = 115
제3장 J2ME와 MIDP 프로그래밍
3.1 J2ME 소개 = 120
3.1.1 개요 = 120
3.1.2 J2ME의 구조 = 121
3.1.3 J2ME의 장점 = 121
3.2 Configuration = 122
3.2.1 CLDC = 123
3.2.2 CDC = 125
3.3 MIDP 프로그래밍의 기초 = 126
3.3.1 MIDP 프로그래밍을 하기 위한 프로그램 셋업 = 128
1. JDK 1.3 = 128
2. MIDP Fcs 1.0 = 131
3. MIDP Wireless Toolkit = 132
3.3.2 JAD, JAM = 137
3.4 MIDlet 프로그래밍 = 138
3.5 GUI 프로그래밍 = 140
3.5.1 Alert = 141
3.5.2 AlertType = 144
3.5.3 Canvas = 157
3.5.4 Choice = 171
3.5.5 ChoiceGroup = 175
3.5.6 DateField = 184
3.5.7 Display = 193
3.5.8 Displayable = 197
3.5.9 Font = 198
3.5.10 Form = 208
3.5.11 Gauge = 212
3.5.12 Graphics = 213
3.5.13 Image = 215
3.5.14 ImageItem = 217
3.5.15 Item = 220
3.5.16 ItemStateListener = 220
3.5.17 List = 221
3.5.18 Screen = 228
3.5.19 StringItem = 229
3.5.20 TextBox = 230
3.5.21 TextField = 234
3.5.22 Ticker = 236
3.6 MIDP EVENT 프로그래밍 = 237
3.6.1 Command = 237
3.6.2 CommandListener = 239
3.6.3 Item = 240
3.6.4 ItemStateListener = 240
3.7 MIDP Connection = 241
3.7.1 MIDP IO Connection = 241
3.7.2 MIDP HttpConnection = 245
3.7.3 JSP를 이용한 서버측 DB 연동 = 249
3.7.4 실전 예제 = 267
1. 영화예매 입력 = 267
2. 입력 내용 전송 = 270
3. 영화예매 정보 확인 = 277
4. 예매수 입력 = 283
5. 결재 정보 입력 = 284
6. 예약 정보 전송 = 287
3.8 MIDP RMS 프로그래밍(MIDP DataBase) = 294
3.8.1 RMS(Record Management System)란 무엇일까? = 296
3.8.2 RMS(Record Management System) 프로그래밍 = 297
1. 레코드 스토어(Record Store) = 297
2. 레코드 스토어의 레코드 다루기 = 301
3.8.3 RMS 패키지와 클래스 소개 = 347
3.9 MIDP 예제 프로그래밍 = 354
3.9.1 Mail Service = 354
3.9.2 Battle Tetris = 375
제4장 Mobile Database 프로그래밍
4.1 개요 = 410
4.1.1 모바일 데이터베이스란? = 410
4.1.2 모바일 데이터베이스의 동향 = 411
4.1.3 응용분야 및 과제 = 412
4.1.4 모바일 데이터베이스의 구분/종류 = 414
4.2 자바 기반의 데이터베이스 = 416
4.2.1 자바 데이터베이스의 장점 = 416
4.2.2 자바 프레임에서의 모바일 데이터베이스 구분 = 419
4.3 모바일 데이터베이스 기술 = 420
4.3.1 모바일 데이터베이스의 요구사항 = 420
4.3.2 실행 메모리 공간 축약 기술 = 422
4.3.3 동기화 기술 = 424
4.3.4 자바 객체의 저장 = 429
4.4 포인트베이스 구성(자바 기반의 모바일 데이터베이스) = 432
4.4.1 포인트베이스 인스톨 = 433
1. Embedded 인스톨 = 433
2. Network Server 인스톨 = 433
3. UniSync 인스톨 = 435
4. Micro 인스톨 = 440
4.4.2 포인트베이스 구성 = 441
1. 포인트베이스 Micro = 442
2. 포인트베이스 Embedded Server = 442
3. 포인트베이스 Network Server = 442
4. 포인트베이스 UniSync Option = 442
4.4.3 Embedded Console 기능 = 443
1. Console 기능 정의 = 443
2. 데이터베이스 생성 = 443
3. SQL Load = 445
4. SQL Unload = 447
5. Simple select = 449
6. IMAGE select = 449
7. 데이터 삽입하기 = 450
8. 데이터 업데이트 = 450
9. 데이터 Expert 하기 = 451
10. 데이터 Import 하기 = 452
4.4.4 Embedded Command 기능 = 455
1. Command 기능 정의 = 455
2. 데이터베이스 생성하기 = 455
3. 시스템 기능 = 457
4. Java 메소드를 이용한 function 만들기 = 458
5. 데이터베이스 트리거 = 460
4.4.5 Network Server = 461
4.4.6 포인트베이스 Micro = 464
4.4.7 UniSync Option(동기화) = 468
1. 용어 정의 = 468
2. 스냅샷(SnapShot)과 포인트 업데이트(PointUpdate) 기능 = 470
3. Network Server와 Network Server간의 동기화 = 472
4. EnterPrise DB와 Mobile DB와의 동기화 = 486
5. Conflict Detection and Resolution = 498
4.5 KVM 기반의 MIDP 프로그래밍 = 504
4.5.1 J2ME_MIDP_Demo PriceCheck 소스 분석 = 504
4.5.2 J2ME MIDP : PointBase PriceCheck Demonstration Application = 517
4.5.3 n.TOP 마법사 플랫폼 SDK 실행 = 538
1. SDK 설치 = 539
2. SDK 제거 = 540
3. 에뮬레이터 실행 = 540
4. 버튼 기능 = 541
4.5.4 클래스 파일 실행 = 541
1. 자바 프로그램의 컴파일 = 541
2. 클래스 실행 = 542
3. 주의사항 = 544
4.5.5 포인트베이스 load = 544
4.6 KVM 기반의 Palm KAWT 프로그래밍 = 564
4.6.1 Palm install 방법 = 564
4.6.2 Kawt 소스 분석 = 568
4.7 Personal Java 기반의 winCE 예제 프로그램 = 581
4.7.1 프로그램 개발 환경 = 581
4.7.2 프로그램의 개요 = 581
4.7.3 프로그램 소스 분석 = 582
4.7.4 프로그램 실행 및 결과 화면 = 622
부록 KittyHawk[ez-Java]
1. KittyHawk 소개 = 626
1.1 ez-Java의 특징/환경 = 626
1.2 UI 관계 Diagram = 627
1.3 에뮬레이터 다운 및 설치 = 628
2. 프로그램 작성부터 테스트까지 = 628
2.1 소스 작성 = 628
2.2 컴파일 방법 = 631
2.3 사전 검증(preverify) 방법 = 631
2.4 에뮬레이터에서의 실행/테스트 = 632
2.5 jar 파일 작성 = 632
2.6 jam 파일 작성/웹에 올리기 = 632
2.7 폰에서 다운 받기/테스트 = 633
3. KittyHawk API 소개/MIDP와 비교 = 634
3.1 KittyHawk API Class 계층도 = 634
3.2 예제를 통한 프로그래밍 기법 = 651
3.3 KittyHawk Ver 1.1 사용시 유의사항 = 665
찾아보기 = 667