본문 바로가기
dev, tech/os

Midlet을 실제폰에 올리기 (상세설명)

by 구띵 2006. 6. 8.
실제폰에 midlet을 올리기 위해서는 웹서버에 자신이 만?미들릿을 올려놓아야 합니다. 그리고 그 미들릿을 폰에서 URL직접입력이라는 메뉴를 통해 다운로드wml사이트로 접속한후 다운받으면 됩니다. 지금까지는 모든 자바를 지원하는 폰에서 midlet을 다운받아 사용할 수 있지만, 016,018폰에서는 제가 테스트를 해보지는 못했습니다. 그러나 016,018에서도 브루를 사용하는 관계로 브루2.0이상을 지원하는 폰에서만 작동한다고 합니다.

그럼 자세한 설명을 시작하겠습니다.

먼저 자신이 만든 midlet을 jar파일로 묶습니다.
jar파일로 묶을려면, 먼저 작성한 소스코드들을 컴파일 해야 하는데, 011, 017과 같이 sk-vm을 사용하는 폰은 컴파일만 하면 되는 것이고, 019 폰과 같이 midp 기준에 완전히 따르는 폰은 preverify과정까지 필요합니다.

이런 과정을 거치면 class파일들이 생성되는데, 이 class들을 jar파일로 묶기만 하면 되는 겁니다. 예를 들어 Hello.jar파일로 묶으려면 아래와 같이 콘솔상에서 명령어를 치면 됩니다.

jar cvfm Hello.jar *.class *.png

혹은 요즘은 알집과 같은 압축툴로 간편하게 묶어서 jar파일로 만들어도 이상없이 잘 됩니다.

이제는 descriptor파일을 만들면 되는데, 이것은 단순한 text파일에 불과한 것을 확장자만 .jad(019폰) 혹은 .msd(011, 017용)로 붙여서 만든것 뿐입니다. 이것도 예를 들어 설명하는 것이 제일 좋을것 같습니다.


1. jad파일의 작성예

[test.jad]

MIDlet-1: Test,, Test
MIDlet-Jar-Size: 15731
MIDlet-Jar-URL: http://localhost/test.jar
MIDlet-Name: Test
MIDlet-Vendor: Sun Microsystems
MIDlet-Version: 1.0
MicroEdition-Configuration: CLDC-1.0
MicroEdition-Profile: MIDP-1.0

MIDlet-1에는 메인클래스명을 적는것이고
MIDlet-Jar-Size 에는 jar파일 크기를 적는것이고
MIDlet-Jar-URL 에는 서버주소와 jar파일 경로를 적는것 이고
MIDlet-Name 에는 자신이 작성한 app이름을 적는것이고
나머지는 그냥 그대로 쓰셔도 상관없는 부분들입니다.

한가지 중요한 것은 jar-size를 반드시 정확하게 작성해야 한다는 것입니다.


2. msd파일의 작성예

[test.msd]

MIDlet-Name:Test
MIDlet-Version: 1.0.0
MIDlet-Vendor:XCE
MIDlet-Jar-URL : http://localhost/test.jar?SERVICE_ID=900009000012345
MIDlet-Jar-Size : 15731
MIDlet-Description : Test
MicroEdition-Profile : M_Profile-1.0,SKTP-1.0
MicroEdition-Configuration : M_Configuration-1.0
MIDlet-X-Date: 200402210000
MIDlet-X-Update-URL : http://localhost/test.wml
MIDlet-Menu-Location : /nate/교육
MIDlet-1:Test,,Test

msd 파일도 마찬가지지만 jad와 다른점이 몇가지 보입니다. 그러나 너무 연연하지 마시고 위의 예를 그대로 복사해서 사용하시면 됩니다. 특히 MIDlet-Jar-URL부분의 뒤에 붙는 ?SERVICE_ID=900009000012345 이 부분도 테스트 할때 그대로 사용하시면 됩니다. 이것과 관련해서는 xce사이트에서 더 많은 정보를 찾을수 있을것입니다.

그러나 서비스를 직접하지 않고, 일단 테스트 할때는 이정도로도 충분할것 입니다.

여기까지 했으면 이제는 wml 다운로드 페이지를 보여주는 파일들을 만드는 일이 남았습니다. 이도 간단한 예를 통해서 이해를 돕는편이 좋을듯 합니다.

[test.wml]

<?xml version="1.0" encoding="KS_C_5601-1987"?>
<!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.1//EN" "http://www.wapforum.org/DTD/wml_1.1.xml">

<wml>
<card id="Download">
<p align="center">다운받기</p>
<p align="left">
<do type="vnd.skmn.1" label="test">
<go href="http://localhost/test.wmls#load()"/></do>
</p>
</card>
</xml>


그 다음은 링크가 걸려 있는 test.wmls 파일 입니다.

[test.wmls]

function load()
{
Multimedia.runXVM("http://localhost/test.msd", "http://localhost/test.wml",0);
}

너무 간단하더라도 이렇게만 하면 되나 하고 의구심을 갖지 마시고 그냥 저장하시면 됩니다.

단, 작성할때 주의할 점은 주소를 정확하게 입력하는 것입니다. jad나 msd파일을 작성할 때도 마찬가지 이지만, url부분에 제가 입력해 놓은 대로 localhost라고 해 놓으면 폰은 주소를 찾을 수 없게 됩니다. 그러니 반드시 url은 정확하게 아이피 주소나 사이트 주소로 작성해야 합니다.


이제 모든 준비가 다 되었습니다. 서버에 자신의 jar파일을 올려놓고 폰을 통해 서버에 접속합니다.

폰의 url직접입력 메뉴에서 http://localhost/test.wml 하고 확인을 누릅니다

그러면 wml사이트가 열리게 됩니다.

"1.test" 라는 메뉴를 선택하고, 확인버튼을 누릅니다.

그럼 다운로드가 진행되고, 폰에 자신의 app가 설치되어 있음을 확인할수 있을 겁니다.

댓글