190 likes | 405 Views
ez-java(tm) platform. 2000. 10. 12 박 준 영 (jypark@lgtel.co.kr) 단말기술팀 , LGTeleCom. Mission. 핸드폰에서 프로그래밍 환경 제공 Download, Install, Upgrade 기존 WAP 브라우저 기술의 제약을 탈피 WAP 브라우저와 연동 직관적인 그래픽 사용자 인터페이스 제공 다양한 어플리케이션 환경 제공 게임 , 개인정보 관리자 보완환경 강화 그리고 ... JAVA. ez-java 서비스 플랫폼. 자바 컨텐트 제공자.
E N D
ez-java(tm) platform 2000. 10. 12 박 준 영 (jypark@lgtel.co.kr) 단말기술팀, LGTeleCom
Mission • 핸드폰에서 프로그래밍 환경 제공 • Download, Install, Upgrade • 기존 WAP브라우저 기술의 제약을 탈피 • WAP브라우저와 연동 • 직관적인 그래픽 사용자 인터페이스 제공 • 다양한 어플리케이션 환경 제공 • 게임, 개인정보 관리자 • 보완환경 강화 • 그리고... JAVA
ez-java서비스 플랫폼 자바 컨텐트 제공자 Access Layer CDMA, SMSC… IWF Java & HDML Content Server Up.Link Java Game/Appication Server ez-i(tm)서비스 플랫폼 Billing Proxy Java & HDML Content Server Java Game/Application Server
하드웨어 환경 • i-book모델 • Qualcomm MSM 3100 • 4MB FlashMemory/512KB StaticRAM • 128x128 px, 2bit gray scale LCD • network speed : 64Kbps
소프트웨어 환경 • KVM code size : 230 KBytes • KVM heap space : 108 KBytes • Java Application Storage : 64 KBytes x 10 • Java 2 Plaftform Micro Edition, CLDC profile • KittyHawk User Interface API • Font : 한글 10x12, 영문 5x12 • HTTP 1.1 구현 : JAM과 JAR 파일 다운로드
Java application관리 흐름 ez-java Handset HTTP server 1. select WML link to Descriptor file UP.browser ™ WML page Descriptor file 2. invoke ‘startJAM(descURL)’ from UP.Browser™ 3. Download Descriptor file 4. Download JAR file and Icon file JAR file JAM 5. Save JAR file Icon file Flash 6. Launch KVM with main class name Servlet/CGI script 8. Post to Install-URL tag for complete download & billing process(optional) 7. Load classes from JAR file KVM Help page
Descriptor or JAM file • Application-Name = JAM 메뉴에 뜨는 이름 • Application-Version = 어플리케이션 버젼 • Application-Creator = 개발자 혹은 회사 • Main-Class = 메인 클래스의 이름 • JAR-File-URL = 어플리케이션의 URL • JAM-File-URL = JAM 파일의 URL • JAR-File-Size = 어플리케이션 파일 크기 • ScratchPad-Size = 저장을 위한 메모리 크기
Java application관리 • Maximum number of applications : 10개 • ScratchPad size : 1KB • Application-Version : xxx.yyy.zzz • [최신버젼 받기] 기능에서 현재의 버젼과 비교하여 업그레이드를 결정
JAM파일 URL규칙 • DEVICE extension 이용 • 예) device:jam?url=http://210.219.29.230/java/jam/khalerttest.jam • JAM을 직접 구동 후, HTTP 프로토콜을 이용하여 JAM 파일을 다운로드
HDML & JAM sample - HDML sample <HDML VERSION=3.0 TTL=0 MARKABLE=TRUE PUBLIC=TRUE> <CHOICE> <CE TASK=go DEST="device:jam?url=http://210.219.29.230/java/jam/khalerttest.jam"> KHAlertTest <CE TASK=go DEST="device:jam?url=http://210.219.29.230/java/jam/giftest2.jam"> GifTest <CE TASK=go DEST="device:jam?url=http://210.219.29.230/java/jam/sm.jam"> SeoulMap </CHOICE> </HDML> - JAM sample Application-Name=TumbleDuke Sample Application-Version=3.1 Application-Creator=LG Telecom Main-Class=TumbleDuke JAR-File-URL=http://210.219.29.209/java/jar/tumbleduke.jar JAM-File-URL=http://210.219.29.209/java/jam/tumbleduke.jam JAR-File-Size=4327 ScratchPad-Size=10
com.lgtelecom.hw.IBook • void placeCall(String phoneNumber) • void playBeep(long tone, long duration) • void backLight(long duration) • void vibrator(long duration) • int getNID(); • int getSID(); • int getBASEID(); 위치정보 • int getBASELAT(); • int getBASELONG();
com.sun.kh • Interface : • Listener, TimerClient • Classes • Bitmask, Canvas, DataPresenter, Date, Display, Event, Font, GeneralListener, GifImageDescriptor, GifReader, Graphics, Image, IO, KH, KHApp, List, Progress, Screen, Sequence, Test, TextBox, TextPair, Ticker, TimerService
GIF image handling public static final byte gifdata[] = { ... }; ByteArrayInputStream is = new ByteArrayInputStream(gifdata); GifReader reader = new GifReader(); try { if (reader.readHeader(is, null) == 0) { gif = reader.readImage(); } } catch (Exception e) { ... } ... g.drawImage(0, 0, 0, gif.image, g.TRANSPARENT);
ez-java(tm)핸드폰 사용법 • 실행하기 : JAM메뉴로 이동 • 다운받기 : 다운 받는 ez-i(tm)사이트로 이동 • 모두지우기 : Java어플리케이션 삭제
외부 사이트를 이용한 방법 URL 직접 가기를 선택하여 외부사이트로 이동
Possible Application • 자바 게임 • 위치정보 서비스 • 캐릭터 카드 서비스 • 개인정보 관리 서비스
Roadmap on ez-java FY2000 FY2001 7 8 9 10 11 12 1 2 3 ez-java 1.0 & KittyHawk API ez-java 1.1 & AppStream ez-java 2.0 & MIDP AppStream Demo ez-java 1.2 & Color Demo i-book emulator 1.0 HTTPS Gateway billing
관련 사이트 • http://java.ez-i.co.kr
Future... • Java Application Streaming • 클래스 파일들을 실행 순서에 따라, dynamic하게 다운로드 • 먼저 받은 main class 부터 실행 • 어플케이션 실행 속도 개선 • code-size가 큰 Java application 실행 가능 • Color LCD 지원 • KVM의 속도 개선 및 안정화 • HTTPS 지원