Transcript JAM 파일 크기
KittyHawk API Ver 1.1 고용석 ([email protected]) 1 LG전자 p520 시스템 사양 • HEAP 크기 – 130KB • JAM 파일 크기 – 512 bytes • Socket/UDP – 1개 지원 • LCD – 8 bits(3:3:2) Color, 120x160pixels 2 기존과 다른 점(1) • 한글 지원 – 이전과 같이 ISO8859_1로 인코딩 하지 않고, option 없이 컴파일 함. – TextBox등에서 한글 입출력 가능 – JAM 한글 지원 3 기존과 다른 점(2) • 그래픽 – Gif 파일의 투명색 지원 – rgbPixel의 Algorithm int KHMakePixel(int red, int green, int blue) { return (red & 0xe0) | ((green >> 3) & 1c) | (blue >> 6) } – Graphics.WHITE, Graphics.BLACK, Graphics.DARK_GRAY, Graphics.LIGHT_GRAY 의 값 변경 • 기존의 응용 프로그램이 필드로 넣지 않고, 그대로 값을 사 용하여p520에서 색상이 이상하게 출력되는 경우가 있음. – Refresh 강제적으로 호출해주는 함수. • Graphics.flush() 4 JAM 파일 • 스크린 크기를 위한 Field – Screen-Size=120x143 or 120x160 – LGT의 표준 응용 프로그램 크기를 지원하기 위함 – 스크린 크기가 120x143인 경우에 상단에 배너 출력 • 한글 가능 다운로드 화면 변경 ● 5 개발시 유의점(1) • HTTP – int read()로 조금씩 읽어 오지 않고, int read(byte [ ], int , int)를 사용하여 빨리 처리 해야 함. – 이는 server에서 get command에 대해서 대 응하는 data를 write하고 그대로 close하기 때문임. 6 개발시 유의점(2) • Resource 초기화 – 여러 Thread에서 공유하는 Resource 초기화 시에 Synchronize를 맞추어 줌. • 폰트 사용시 – 박스 안에 폰트를 그릴때, 그 박스의 width 를 fixed시키지 않고, Font.stringWidth()함 수를 사용해서 width를 얻어와서 계산 해줌. – 각 폰마다 폰트의 폭/넓이가 다름. 7 개발시 유의점(3) • 네트워크 사용시 ppp time out – 10초 동안 ppp를 사용하지 않으면 자동으로 close 되게 되어 있음. • 프로그램 내부의 무한 loop 사용시 – 내부 무한 loop는 배터리 소모량을 증가 시킬 수 있 으며, 키 입력이 느려질 가능성이 있음. • 긴 constant array 사용시 – getResourceAsStream함수로 stream에서 읽어 들 여 초기화 하는 것이 속도와 크기를 줄일 수 있음. 8 개발시 유의점(4) • Graphics.WHITE같은 상수 이용시 – 값을 쓰는 것이 아니라 상수를 써주어야 됨 이 값들이 각기 다를 수 있음. • Byte [ ]를 character[ ]로 변환할 때. – 직접 변환하지 않고 Helper를 이용해야 함. • Color 사용시 – 개발자 Guide에 첨부된 colormap(3:3:2)참 조 할 것. – Gray 계열의 색상이 WHITE,GRAY,BLACK 밖에 없음. 9 P520 Colormap 개발 Emulator • 한글 입력이 됨. • 윈도우즈 Font 문제로 현재 폰트는 제대로 출력되지 않음. (수정중) • Scratch Pad 지원 – Option : -scrpad 1024 • 현재 배포된 버전 – p520Emul-20010420-01.zip 11 초기화면 • Loading시에 progress를 보여주는 것이 좋음. 12 13