목차
제1장 모바일과 JAVA
1. Mobile이라는 꿈과 혼돈의 세상 = 42
Mobile, 꿈의 세상 = 42
인터넷이 만든 세상 = 42
핸드폰이 만든 세상 = 43
Mobile이 꿈꾸는 세상 = 43
Mobile, 혼돈의 세상 = 44
Mobile VM(Virtual Machine) = 44
2. Mobile이라는 작은 세상 = 46
작은 세상의 한계 = 46
메모리 = 46
power = 46
input = 46
output = 46
Size = 46
Network = 47
작은 세상에서의 프로그래밍 = 47
가능하면 프로그램을 최대한 단순화시키고 작게 만들어라. = 47
서버 컴퓨터의 이용성을 생각하라. = 47
객체 이용에 효율성을 생각하라. = 48
가비지 콜렉션의 효율성을 고려하라. = 48
예외 처리의 효율성을 고려하라. = 48
3. 왜 Java인가? = 48
자바의 특징 = 48
객체지향 언어 = 48
플랫폼에 독립적이다. = 49
멀티스레드를 지원한다. = 50
가비지 컬렉션 = 51
자바의 실행 환경 = 51
자바 클래스 파일 = 51
자바 가상 머신 = 52
클래스 로더기 = 52
클래스 검증기 = 53
Native code interface = 53
Runtime Library = 53
자바 프로그래밍 종류 = 53
Application = 53
Applet = 53
Servlet = 54
Jsp(Java Server Pages) = 54
JDBC = 55
JFC(Java Foundation Class) = 55
JMFC(Java Media Framework) = 55
RMI(Remote Method Invocation) = 56
4. Mobile에서의 Java = 56
제2장 JAVA 프로그래밍 기초
1. JAVA 환경 설정 = 60
JDK 설치 = 61
win98에서의 JDK 환경 설정 = 62
win2000에서의 JDK 환경 설정 = 64
2. JAVA 프로그램 기본 구조 = 65
package = 65
import = 66
class 선언문 = 66
생성자 = 67
variable member = 67
method member = 67
3. JAVA 실행 파일 = 67
javac = 68
java = 68
appletviewer = 69
javadoc = 69
HelloWorld.java = 70
javah = 71
javap = 72
4. 데이터 타입 = 72
정수형 = 73
실수형 = 73
문자형 = 74
논리형 = 74
String = 74
5. 연산자 = 75
단항 연산자 = 75
산술 연산자 = 76
쉬프트 연산자 = 76
ShiftTest.java = 76
비교 연산자 = 78
InstanceofTest.java = 78
비트 연산자 = 79
논리 연산자 = 79
ShortCircuitTest.java = 80
조건 연산자 = 81
6. 문장 = 81
if-else 문 = 81
단일 if 문 = 81
if-else 문 = 81
else if 문 = 82
switch 문 = 82
while 문 = 83
do-while 문 = 83
for 문 = 84
break 문 = 84
continue 문 = 84
7. 배열 = 85
배열 선언 = 85
배열 생성 = 85
배열 초기화 = 86
제3장 객체지향 기초 개념 JAVA
1. 객체지향 기술이란? = 88
2. 객체지향 기본 개념 = 89
객체 = 89
속성과 행위 = 89
캡슐화 = 90
메시지 = 90
클래스 = 91
추상화 = 91
상속 = 91
다형성 = 92
3. Java 프로그램의 3단계 = 92
객체 모델링 = 93
클래스 설계 = 94
Grade.java = 96
객체 생성과 이용 = 97
객체 생성 = 97
객체 이용 = 98
GradeTest.java = 98
제4장 자바 프로그래밍 핵심 개념
1. 생성자 = 102
생성자 기본 개념 = 102
생성자 실행 = 103
2. 상속 = 105
상속 기본 개념 = 105
ExtendsTest.java = 105
this와 super = 107
ThisSuperTest.java = 107
상속과 생성자 = 108
InheritanceTest.java = 110
3. 접근제한 = 111
XY.java = 112
PrivateTest.java = 113
SayHello.java = 114
Test.java = 114
4. 다형성 = 115
오버로딩 = 115
오버라이딩 = 116
OverridingTest.java = 117
5. 추상형 = 118
추상 클래스 = 118
AbstractClassTest.java = 119
인터페이스 = 120
InterfaceTest.java = 121
6. static & final = 122
static = 122
StaticTest.java = 123
final = 125
7. 가비지 컬렉션 = 125
8. 예외 처리 = 126
try-catch = 127
ExceptionTest.java = 128
throws-throw = 129
제5장 자바와 무선 인터넷 프로그래밍(WAP)
1. WAP 소개 = 132
2. WAP SEVER 환경 설정 = 133
APACHE 웹 서버 환경 설정 = 134
3. WAP 클라이언트 환경설정 = 137
upsdkW401e.exe 설치하기 = 137
me111_cp.exe 설치하기 = 140
4. 011 핸드폰 무선 인터넷 프로그래밍(WML) = 140
index.wml = 141
menu.wml = 141
text.wml = 144
image.wml = 146
input.wml = 147
5. 016 핸드폰 무선 인터넷 프로그래밍(MHTML) = 149
Image.html = 150
metal1.html = 152
metal2.html = 152
metal3.html = 154
6. 019핸드폰 무선 인터넷 프로그래밍(HDML) = 155
index.hdml = 155
text.hdml = 157
image.hdml = 158
input.hdml = 159
7. WAP의 한계와 자바 = 160
제6장 모바일 자바 J2ME
1. JAVA 표준 스펙들 = 164
J2SE = 166
J2EE = 166
J2ME = 166
2. J2ME란... = 166
동적인 애플리케이션 다운로드(자동 업그레이드) = 168
플랫폼 호환성에 대한 강력함을 제공 = 168
비연결성 = 168
보안 문제 = 169
3. 모바일 가상 머신 KVM = 169
4. J2ME 기본 구조 = 170
5. 컨피그레이션 = 172
6. 프로파일 = 173
제7장 J2ME Configuration CLDC, CDC
1. CLDC(Connected Limited Device Configuration)란? = 176
2. CLDC의 특성 = 178
Java 언어의 기본 특징을 가지고 있다. = 178
가상 머신 포함 = 179
보안 모델의 정의 = 179
J2SE에서 가져온 패키지들의 보유 = 179
네트워킹과 입출력을 위한 J2ME 패키지들의 보유 = 179
3. CLDC의 KVM과 일반 JVM과의 차이점 = 180
부동 소수점을 지원하지 않는다. = 180
사용자 정의 클래스 로더를 사용할 수 없다. = 180
Reflection 패키지를 지원하지 않는다. = 181
쓰레드 그룹(ThreadGroup)과 데몬 쓰레드 그룹(Demon Thread)을 지원하지 않는다. = 181
에러 처리가 제한적이다. = 181
클래스 검증 과정이 분리되어 있다. = 181
4. CLDC의 보안 모델 = 181
모든 응용 프로그램은 가상 머신 위에서만 실행되어져야 한다. = 182
Preverify 및 Rumtime verify = 182
5. CLDC와 MIDP와의 관계 = 183
6. CLDC 라이브러리 = 185
7. CDC(Connected Device Configuration)란? = 187
8. CDC의 특성 = 188
J2ME의 대부분 API를 지원한다. = 189
JVM을 완벽하게 지원한다. = 189
CDC는 CLDC의 모든 클래스 패키지를 가지고 있다. = 189
9. CDC 라이브러리 = 189
제8장 CLDC 개발툴의 설치 및 CLDC 프로그래밍 과정
1. 개발 툴의 설치 및 환경 설정 = 192
j2me_cldc-1_0-src-winsol 환경 설정 = 192
CLDC 환경 설정 = 192
데모 프로그램 실행 = 195
2. CLDC 프로그래밍 과정 및 프로그래밍 = 197
CLDC 프로그램 실행 단계 = 197
CLDC 실행 단계 = 198
CLDC 프로그래밍1 - HelloSpotlet = 200
HelloSpotlet.java = 201
CLDC 프로그래밍2 - DrawTest = 203
DrawTest.java = 203
제9장 J2ME Profile MIDP
1. MIDP란? = 210
MIDP 개요 = 210
MIDP 역할 = 212
2. MIDLET란? = 212
3. JAM, MIDlet Suite, JAD, JAR, JAM(Java Application Manager) = 215
JAM(Java Application Manager) = 215
MIDlet Suite와 JAR = 216
JAD(Java Application Descriptor)와 Manifest = 217
응용 프로그램 개발에서 배포까지 = 219
제10장 MIDP-fcs의 설치 및 실행
1. MIDP의 환경 = 222
2. MIDP_fcs 소개 = 223
3. JDKI.3.1 설치 = 224
4. MIDP_fcs 설치 = 224
MIDP-fcs 설치 = 225
5. 예제 실행 테스트 = 228
firstMIDlet.java = 228
MIDP-fcs 환경에서의 midp 프로그램 실행 = 229
6. 웹 서버 연동 테스트 = 232
웹 서버 연동 테스트 = 233
제11장 Wireless Toolkit의 설치 및 실행
1. Wireless Toolkit 소개 = 240
2. Wireless Toolkit 설치 = 241
Wireless Toolkit 설치 = 241
3. Wireless Toolkit 실행 테스트 = 245
Wireless Toolkit 실행 테스트 = 245
제12장 Forte for Java CE
1. Forte For Java 소개 = 254
2. Forte For Java CE 설치 = 256
Forte For Java CE 설치 = 257
3. Forte For Java CE에서의 MIDP 프로그램 테스트 = 263
Forte for Java CE 환경에서의 MIDP 프로그램 = 263
Test.java = 265
제13장 무선 핸드폰 화면 구성 프로그래밍 소개
1. J2ME 기본 API = 274
java.lang = 276
java.io = 277
java.util = 278
2. MIDP 유저 인터페이스 개요 = 278
3. Icdui의 구조 = 280
4. Display 클래스 = 282
5. Command 클래스 = 284
6. Screen 클래스 = 286
TickerTest.java = 288
7. Canvas 클래스 = 290
제14장 Screen 프로그래밍
1. TextBox = 292
TextBoxTest.java = 296
2. List = 297
ListTest.java = 298
3. Alert = 300
AlertTest.java = 303
4. Form = 305
FormTest.java = 307
FormTest2.java = 309
제15장 Item 프로그래밍
1. Item = 314
2. ChoiceGroup = 315
ChoiceGroup.java = 317
3. DateField = 320
4. Date = 321
Date FieldTest.java = 322
5. Gauge = 324
GaugeTest.java = 325
6. TextField = 327
TextFieldTest.java = 328
제16장 MIDP 이벤트 프로그래밍
1. Item 상태 이벤트 = 332
ItemStateTest.java = 334
2. Canvas 이벤트 = 336
키 이벤트와 키 코드 = 336
GameActions 키 코드 = 337
Canvas에서의 이벤트 = 337
이벤트 관련 메서드 = 339
제17장 MIDP 그래픽 프로그래밍
1. Graphics 클래스 = 344
paint 관련 메서드 = 345
앵커 포인트 = 345
앵커 포인트 상수 = 346
2. Image 클래스 = 347
MoveAction.java = 348
DrawTest.java = 352
3. Font 클래스 = 356
FontTest.java = 358
제18장 MIDP 애니메이션 프로그래밍(thread/timer)
1. Thread 소개 = 364
2. Thread를 이용한 애니메이션 프로그래밍 = 368
doolyAnimation.java = 368
doolyCanvas.java = 370
3. Timer와 TimerTask 소개 = 374
Timer = 374
TimerTacker = 375
4. Timer를 이용한 애니메이션 프로그래밍 = 376
TimerTest.java = 377
제19장 MIDP 네트워크 프로그래밍
1. MIDP 네트워크 프로그래밍 소개 = 382
Connection 인터페이스와 Connector 클래스 = 383
2. HttpConnection = 384
3. page 가져오기 = 387
Http Test.java = 387
4. HTTP POST 요청 = 390
postHttpConnection.java = 390
제20장 MIDP 서버 연동 프로그래밍
1. 서버 환경 구축 = 396
apache 웹 서버 설치 = 396
jakarta-tomcat 설치 = 397
tomcat 설치 = 397
tomcat 환경 설정 = 398
tomcat 환경 설정하기 = 398
mysql 설치 = 402
mysql 설치하기 = 402
mysql 실행과 jdbc 환경 설정 = 404
mysql 실행과 jdbc 환경 설정하기 = 404
jdbc 연동 서블릿 프로그램 테스트 = 409
jdbc 연동 서블릿 프로그램 테스트하기 = 409
2. Post 방식을 통한 servlet 연동 = 411
postHttpConnection2.java = 412
ReplyServlet.java = 416
3. get 방식을 통한 servlet 연동 = 418
GetMIDletServlet.java = 419
ParamServlet.java = 422
4. jsp 연동을 통한 인증처리 = 423
IdCheckClient.java = 426
IdCheckServer.jsp = 429
DBConnect.java = 429
Id_Check.java = 430
5. socket 방식을 통한 서버 연동 = 433
SocketMIDlet.java = 434
midpServer.java = 437
제21장 RMS(Record Management System)
1. RMS(Record Management System) 개요 = 442
RMS 패키지 = 442
Record Store와 Record = 443
Record Store와 Record의 삭제 = 446
2. RMS 주요 API = 448
3. Record Store의 생성과 레코드의 입력 = 451
SimpleRMS.java = 452
RMSMIDlet.java = 454
4. 정렬과 필터링 작업 = 457
RecordFilter와 RecordComparator를 통한 정렬과 필터링 작업 = 457
MyComparator.java = 461
SimpleRMS.java = 463
RMSMIDlet.java = 466
SimpleRMS.java = 469
RMSMIDlet.java = 471
5. 이메일 주소록 미들릿의 작성 = 474
RecordForm.java = 475
EmailSort.java = 476
EmailBookRMS.java = 480
제22장 상용 시스템 SK-VM
1. SK-VM 설치 = 494
SK-VM 설치하기 = 495
2. SK-VM SDK = 499
SK-VM 플랫폼 SDK 개요 = 499
SDK 설치 = 499
SDK 제거 = 499
에뮬레이터 실행 = 499
버튼 기능 = 499
자바 프로그램의 컴파일 = 500
클래스 실행 = 500
png2lbm 사용 = 502
3. 컨테츠 개발 가이드 = 503
컨텐츠 배포 = 503
MSD 파일 포맷 = 503
WML 페이지 연동 = 506
메모리 = 507
이미지 파일과 메모리 = 508
PNG = 509
LBM = 509
칼라 단말기에서의 메모리 = 510
파일 시스템 = 510
파일 액세스 속도 = 510
그래픽 = 511
Clipping 기법 사용 = 511
paint()할 때 Clipping Area 체크 = 511
사운드 pause(), resume() = 512
MMF 사운드 만드는 방법 = 512
3D 기능 = 512
구현상 유의해야 할 점 = 513
MIDP에 추가된 부분 = 514
구현자의 선택 사항 처리 방식 = 515
프로그래밍 권고안 = 515
XVM 에러 코드 = 516
정상적인 에러 = 516
비정상적인 에러 = 516
GC(Garbage Collector) = 517
1) system.gc()를 호출했을 때 = 517
2) 할당하려고 하는 크기의 연속된 메모리 공간이 부족할 때 = 518
3) 일정 메모리 할당 회수를 넘겼을 때 = 518
제23장 상용 시스템(LGT JAVA STATION)
1. LGT JAVA STATION 개요 = 522
디스플레이 = 523
한글 입력 방식 = 523
메모리 및 플래시 롬 = 523
색상 = 523
MIDI, Vibration, Backlight 지원 = 523
MIDP Specification = 524
JAD와 Manifest에서의 한글 사용 = 524
2. OEM API = 525
mmpp.microedition.lcdui 패키지 = 525
GraphicsX 클래스 = 525
TextFieldX 클래스 = 526
mmpp.lang 패키지 = 528
MathFP 클래스 = 528
mmpp.media 패키지 = 528
BackLight 클래스 = 528
Beep 클래스 = 528
MediaPlayer 클래스 = 528
Vibration 클래스 = 529
mmpp.phone 패키지 = 529
Phone 클래스 = 529
3. LGT JAVA STATION SDK의 설치 및 실행 = 530
LGT JAVA STATION SDK 설치 및 실행 = 530
JAD 파일과 manifest 파일의 속성 = 532
4. LGT JAVA STATION를 이용한 미들릿 작성 = 534
GraphicsXMIDlet.java = 535
GraphicsXCanvax.java = 537
제24장 SK-VM 기반의 만화 어플리케이션
1. 만화 어플리케이션의 흐름 = 546
간단한 배치 파일 만들기 = 546
디렉토리 구조 = 546
실행 결과 화면 = 547
Cartoon 애플리케이션의 전체 흐름 = 547
2. 만화 어플리케이션 프로그래밍 = 548
Cartoon.java = 548
CartoonCanvas.java = 552
제25장 SK-VM 기반의 야바위 게임
1. 야바위 게임 = 568
test.java = 569
제26장 SK-VM 기반의 스네이크 게임
1. 스네이크 게임 = 582
Biam.java = 583
BiamCanvas.java = 584
Board.java = 596
Score.java = 604
제27장 MIDP 기반의 소코반 게임 분석
1. 소코반 게임 = 608
Sokoban.java = 609
Score.java = 615
SokoCanvas.java = 621
Board.java = 633
SokoCanvas.java = 645
제28장 MIDP-fcs 기반의 ManyBalls 게임 분석
1. ManyBalls 게임 = 648
ManyBalls.java = 650
ManyCanvas.java = 654
SmallBall.java = 658
About.java = 664
제29장 LGT 기반의 Chicken And Cat 게임
1. Chicken And Cat 게임 = 668
ChickenAndCat.java = 673
ImageLoader.java = 676
Chicken.java = 677
Hen.java = 679
Cat.java = 682
GameCanvas.java = 688
제30장 MIDP와 XML 연동
1. XML에 대해서 = 689
Markup Language = 698
Extendsible = 699
well-formed XML = 699
Valid XML = 700
XML 파서 = 701
wellCheck.xml = 702
validCheck.xml = 702
2. MIDP에서 XML 파싱하기 = 707
kXML 파서 = 708
MIDPXmlTest.java = 709