본문 바로가기
Computer/Jlet

[8] Jlet Class

by DogBull 2006. 8. 3.
Jlet를 이용해 모바일 응용 프로그램을 개발하기 위해서는 추상클래스인 Jlet를 구현해야 한다.

첫째, Jlet의 정보를 담고 있는 Jlet클래스의 위치 정보를 import 시켜야 한다.
import org.kwis.msp.lcdui.Jlet;(보통 import.kwis.msp.lcdui.*;로 많이 쓴다.)

둘째, Jlet 클래스를 상속받아 새로은 개발자가 구현할 클래스를 생성한다.
public class YourClassName extends Jlet

셋째, Jlet은 추상 클래스 이므로 추상 매소드를 재정의 해 주어야 한다.
public void startApp(String args[]){}
public void destroyApp(boolean b){}

Point
- Jlet 프로그래밍을 할 때는 추상 클래스인 Jlet를 상속받아 새로운 클래스로 객체를 생성해야 한다.
- Jlet을 상속받은 클래스는 모두 Jlet 응용 프로그램이다.
- Jlet 클래스는 추상 클래스이므로 추상 메소드를 재 정의해 주어야 한다.
- Jlet 클래스는 org.kwis.msp.lcdui.Jlet에 정의되어 있다.

또 하나의 중요한 개념인 응용 프로그램 생명주기에 대해 알아보자. 프로그램이란 것은 시작과 종료를 명확히 제시해야 한다. 생명주기란 쉽게 말해서 프로그램이 시작해서 여러가지 일들을 처리하다가 결국 종료에 다다르는 일련의 과정이라고 할 수 있다. 그렇다면 응용 프로그램인 Jlet의 생명주기를 알아보자


위 그림에서 알 수 있듯이,
Jlet 응용 프로그램은 Active, Pause, Destroy의 세가지 상태 중 어느 한가지를 갖게 된다.
Jlet을 상속받은 클래스 내부에서,
destroyApp() 메소드를 호출하면 종료,
resumeApp() 메소드를 호출하면 재 활성화,
pauseApp() 메소드를 호츨하면 일시정시 의 상태를 갖게 되는 것이다.

프로그램이란 시작하면 반드시 종료해야 하는 것이며, Jlet 프로그래밍을 한다는 것은 생명주기를 구현할 수 있는 정보를 가진 Jlet 클래스를 구현하는 것이다.

Jlet클래스의 생명주기 관련 메소드
-protected abstract void startApp(String[] args)
응용 프로그램이 호출되어 Jlet의 생성될 때 단 한번만 호출된다. Jlet에 넘겨지는 인수 args[0]은 Jlet의 이름이 되고, 그 다음부터는 사용자가 넘겨주는 인수가 된다.

-protected void pauseApp()
시스템에서 응용프로그램에게 일시 정지를 요청할 때 이 메소드를 호출한다. 정지하는 경우 사용하고 있던 시스템 자원을 되돌려 줄 수 있도록 구현해야 한다.

-protected void resumeApp()
pauseApp()에 의해 정지 되었던 Jlet을 다시 구동 시키며, 이 메소드 내에서 pauseApp()에서 돌려 주었던 시스템 자원들을 다시 할당 받도록 해야 한다.

-protected abstract void destroyApp(boolean b)
프로그램을 종료 시킬 때 호출하는 매소드 이다. 인자 값을 true로 주면 프로그램은 무조건 종료되며, false를 주면 프로그램은 상황에 따라서 JletStateChangeException 예외가 발생 하면서 프로그램이 종료 되는 것을 막을 수 있다.


다음은 Jlet 응용 프로그램의 가장 기본이 되어야할 구조를 코딩한 것이다.
import org.kwis.msp.lcdui.*;

public class className extends Jlet{
  public void startApp(String args[]) {}

   public void pauseApp() {}
   public void resumeApp() {}

   public void destroyApp() {}
}

red로 된 부분은 앞서 설명 했듯이 상속받은 Jlet클래스에서 abstract로 선언되어 있으므로 하위 클래스가 반드시 구현해 주여야하는 부분을 표시한 것이다.

다음 장에서는 Jlet 응용 프로그램의 기본 구조를 준수하여 모든 프로그래밍의 입문인
'Hello Word'를 출력해 보겠다.

'Computer > Jlet' 카테고리의 다른 글

[10] 컴포넌트  (0) 2006.08.11
[9] Hello World  (0) 2006.08.04
[7] Testing  (0) 2006.08.03
[6] EditPlus Setting for Jlet  (0) 2006.08.03
[5] Jlet Developer Environment  (0) 2006.08.03