Download presentation
Presentation is loading. Please wait.
1
Sookmyung Women’s Univ. PSLAB Moon, Se won
J2ME 개발 살펴보기 Sookmyung Women’s Univ. PSLAB Moon, Se won
2
INDEX 1. J2ME 2. Profile & Configuration 3. MIDlet Programming
4. J2ME Wireless ToolKit
3
1.1 J2ME server PC CDC CLDC J2EE J2SE J2ME HotSpot JVM KVM Card VM
JAVA는 각 기기별 특성과 한계 때문에 세분화 되었다. J2ME(Java2 Micro Edition)은 소형기기에서 사용 가능한 Java Application을 위해 제안된 Platform Communicat -or pos server PC PDA ScreenPhone Cell Phone CDC CLDC J2EE J2SE card J2ME HotSpot JVM KVM Card VM
4
1.2 J2ME 특징 Embedded 환경을 고려 코드 이식성이 높음 자바 개발자들이 쉽게 익힐 수 있음
보안 모델 및 네트워크 전송이 안전하게 설계 개발된 제품을 J2SE, J2EE로 확장하는데 용이 -> 이런 특성으로 J2ME가 포스트-PC시대의 기기들에 적합한 Platform으로 등장
5
2.1 Profile & Configuration
- 장치별 요구에 맞는 Class 및 Method 를 추가하여 표준 API를 명세한 것 - 기계의 유형이나 수직 시장을 위해 같은 configuration 내에서도 세분화 - MIDP, PDAP 등 Configuration - 장치별 분류에 따른 core API 및 JVM 에 대한 명세 - JVM+J2ME CDC Libraries, KVM + J2ME CLDC Libraries 등 -> Profile과 Configuration로 세분화 되면서 J2ME Platform의 통일성과 다양성을 동시에 만족
6
2.2 Profile과 Configuration 구성
Cell Phone 의 경우 - 운영체제(VxWorks, RT-LINUX) 위에 - KVM(Kilobyte VM) 이 올라가고 - 그 위에 CLDC(connected Limited device Configuration) 올라간다. -그 위에 MIDP(Mobile Information Device Profile) 가 올라간다. Profiles Configuration Java Virtual Machine Host Operation System
7
3.1 MIDlet Programming 과정 J2ME를 활용한 MIDlet 프로그램의 과정 Test.java Javac
Download Javac Verifier Test.class Interpreter Pre-verifier Test.class
8
3.2 MIDlet Programming 실행 1.URL 또는 웹 사이트에 접속하여 서비스 받는 화면으로 이동
2.특정 서비스를 선택하여 다운로드한다. 핸드폰 안에 있는 JAM(Java Application Manager)이 다운로드를 시작 3.서비스 실행 JAM이 다운로드를 마치면 MIDlet 프로그램을 실행할 KVM을 시작 시키고 프로그램을 넘긴다.
9
3.3 JAR & JAD MIDlet program 생성시 만들어지는 파일 JAR(Java Archive)
- MANIFEST 파일(현재 프로그램의 각종 속성들이 저장) - CLASS 파일 - 아이콘 및 이미지 등 CLASS 파일에서 사용하는 각종 resource JAD(Java Application Descriptor) -JAR 파일을 열지 않고도 프로그램 정보를 알 수 있도록 만든 파일 -MLDlet-Name, MIDlet_Version, MIDlet-Vendor 등
10
3.3 JAR & JAD 1. SELECT JAD URL UP.browser WML PAGE
2.UP.browser starts JAM(URL) JAD 3. Download JAD 4. Download JAR and Icon files JAM JAR FILE 5. Store JAR Flash 6. Run KVM ICON FILE 7. Class Loading from JAR KVM SELRVLET/CGI 8. Comlete Download And Post URL for Biling
11
4.1 J2ME Wireless Toolkit CLDC/MIDP를 가진 완벽한 개발환경 JAVA Program을 compile
Cell phone 화면의 테스트 다양한 무선 기기에 대한 Emulator를 제공
12
4.2 J2ME Wireless Toolkit 이용
MIDlet Program 실행 윈도우 프로그램 -> J2M3 Wireless Toolkit -> Ktoolbar 선택 Open Project -> open할 project 선택 -> Open Project 버튼 클릭 : project 를 load 시킨다 Setting ->Requried ->Optional ->MIDLets :JAD 와 MANIFEST 파일에 기입하는 내용(프로그램 속성) Build : compile과 pre-vertifier 후 JAR,JAD파일이 해당 디렉토리에 만들어졌는지 보여준다 Run : 해당 프로그램 실행
13
Sookmyung Women’s Univ. Pslab Moon sewon
CLDC Sookmyung Women’s Univ. Pslab Moon sewon
14
INDEX 1. CLDC 2. CLDC의 영향
15
1.1 CLDC J2SE CDC CLDC Connected, Limited device configuration 의 약자이며
Configuration의 하나로 기반 library와 Virtual Machine 으로 구성 CLDC는 J2SE의 완전한 부분집합이 아니므로 CLDC/ MIDP 기반의 Java Program이 J2SE 에서 수행할 수 없다. CLDC는 CDC의 부분집합 (CLDC가 CDC로 진화) J2SE CDC CLDC
16
1.1 CLDC CLDC 기술하는 항목 - 자바 언어와 자바 가상 머신
- core 자바 라이브러리(java.lang.*,java.util.* 등) - 네트워크와 보안 - 입출력과 각국 언어 지원 CLDC를 지원하는 하드웨어의 최소 사양(Memory) -비휘발성 메모리 (128KB) 자바 가상 머신, CLDC Library, 시스템 관련 Application, 반영구적으로 설치할 응용 프로그램 -휘발성 메모리(32KB) Application을 실행시키는 동안 일시적으로 사용되는 메모리 * 우리가 작성할 Application은 휘발성 메모리 사양을 고려하여 개발
17
1.2 CDC VS CLDC CDC(connected Device Configuration)
- 32bit, 64bit CPU - JVM, CVM - 1MB~10MB - TCP/IP 를 이용하거나 신뢰성 있는 고속 통신망 이용 - 공용 고정 단말기로 상호 연결된 정보 기기 - PDA, 셋탑박스, 자동차 네비게이션 시스템 CLDC(connected, Limited Device Configuration) - 16bit, 32bit - KVM - 32KB~512KB 메모리 - 저속 통신망 이용 - 개인용 단말기로 상호 연결된 정보 기기 - cell phone, 스마트폰, POS단말기
18
2.1 JAVA 언어에 미친 영향 실수형 지원하지 않음 - 속도의 문제때문에 지원하지 않음
Object.finalization을 지원하지 않음 - finalization 함수는 garbage collector가 사용되지 않는 객체를 발견하면 객체를 없애주기 위해 부르는 함수 - CLDC는 reference count를 이용하여 객체 사용을 검사하여 그 값이 0이 되면 지워버리는 구조를 가지고 있다. Java.lang.Error의 class가 축소 -핸드폰에서 실행되는 자바 프로그램의 대부분의 에러들이 하드웨 어 에러일 수 있기 때문에 필요 없는 class 축소
19
2.2 JVM에 미친 영향 실수형 지원을 하지 않음 API 축소와 관련 있는 기능 삭제
- Java Native Interface - User-defined class loaders - Reflection - Thread groups and daemon threads - Finalization - Weak references 클래스 파일 포맷과 클래스 파일 검증이 달라짐 - pre-verification(사전 검증) - verification(기기 내 검증)
20
2.3 Library 에 미친 영향 J2SE Libraries 일부
- java.lang.*, java.util.*, java.io.* - 실수 데이터 타입 지원 안 함 Generic Connection Framework Class - javax.microedition.*
Similar presentations