목차
제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
닫기