목차 일부
제1장 모바일과 JAVA
1. Mobile이라는 꿈과 혼돈의 세상 ... 42
Mobile, 꿈의 세상 ... 42
인터넷이 만든 세상 ... 42
핸드폰이 만든 세상 ... 43
Mobile이 꿈꾸는 세상 ... 43
Mobile, 혼돈의 세상 ... 44
Mobile VM(Virt...
더보기
목차 전체
제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
더보기 닫기