스프링 노트
아주 맘에 듭니다. 이런걸 만들어볼까 하는 생각을 했지만 미처 그럴만한 여유도 능력도 못되었는데 좋은게 있어서 씁니다. 앞으로는 주로 그곳에 글을 남기게 될 것 같습니다.

http://hangulee.springnote.com
by 이한길 | 2007/12/13 18:55 | 트랙백
WIPI-JAVA를 시작하다...
휴대폰에다가 간단한 프로그램을 만들어서 사용하고 싶었습니다. 그러면 PDA만은 못해도 늘 가지고 다니는 휴대폰이기에 활용하기가 좋을 것 같았거든요. 하지만 그런 휴대폰을 찾는게 쉽지 않았습니다. 그래서 생각하다가 WIPI-JAVA를 시작했습니다.(KLDP.ORG에서 어느분이 소개해주셨습니다) SKT꺼 휴대폰이라면 SK-VM이나 WIPI-JAVA둘중 하나를 지원하니까요. 그리고 둘은 매우 비슷합니다.

그런데 환경은 매우 제한적입니다. 사실 기대할 이유도 없지만 그래서 마치 자바스크립트로 브라우저 내에서 프로그래밍하기 위해 간단한 베이스 모듈을 만들듯이 만들기 시작했습니다. 한번은 조금 복잡하게 들어가다가 실패하고 두번째는 그럭저럭 괜찮은 모양이 나왔습니다. 제 생각에 그렇습니다. 그리과 말 그대로 그럭저럭 괜찮은 모양입니다. 그래서 간단히 소개하려고 합니다. 얼마나 도움이 될지는 모르겠습니다.

먼저 Page라는 추상 클래스를 만들어서 화면에 보여질 것들은 이것을 상속하게 합니다. 다음으로 PageContainer를 만들어서 Page들을 담게 합니다. 마지막으로 PageContainer를 이용하여 페이지를 담고 화면에 보여줄 PageCanvas를 만듭니다. PageCanvas는 Canvas라는 Displayable을 상속받으므로 Display에 setCurrent로 담아넣을 수 있습니다. 그리고 PageContainer는 Page를 상속하므로 그 자신도 다른 PageContainer 객체에 들어갈 수 있습니다.

소스를 보시면 아마도 이해가 되실거라 생각합니다. 파일을 첨부해야겠네요. 문제는 주석이 없습니다. 하지만 너무 간단해서 없이도 다 이해할 수 있으실 것입니다.
 
Page.java 
PageCanvas.java 
PageChangeListener.java 
PageContainer.java

저기에 PageChangeListener은 Page에서 Canvas의 repaint를 호출할 수 없기 때문에 그 일을 대신 하기 위해서 사용됩니다. 보통 자바 SDK에 보면 이런 리스너는 여러개를 등록할 수 있게 하고 있지만 WIPI-JAVA의 특성상 최대한 간단하게 해야 하므로 하나만 가능하게 했습니다.

PS. WIPI-JAVA에 대한 소개나 입문에 대한 글을 쓰려고 했지만 그에 대한 자료들은 http://developer.xce.co.kr/ 에 있는데다가 WIPI-JAVA를 하려면 어짜피 위 사이트에 가입해서 에뮬레이터를 비롯한 자료를 받아야 하므로 위 사이트를 참고하시라고 적지 않았습니다.
by 이한길 | 2007/11/20 22:58 | WIPI-JAVA | 트랙백


< 이전페이지 다음페이지 >