이번 문서에서는 NetBeans IDE 5.0을 이용하여 Java™ 플랫폼, Micro Edition(Java™ ME 플랫폼), MIDP(Mobile Information Device Profile) 애플리케이션을 제작하기 위한 기초 과정에 대해 소개하며, 사용자가 속성으로 학습할 수 있도록 내용이 구성되어 있다. NetBeans 개발 환경에서 지원되는 Java ME의 사용법에 관한 자세한 내용을 보려면 다음 문서를 참조하기 바란다.
이번 문서에서는 새로운 프로젝트 시스템을 구축하기 위한 기본 단계를 소개한다. 디바이스 에뮬레이터에서 'Hellow World'라는 텍스트를 디스플레이하는 'MyHello' 이름의 Java ME MIDP 프로젝트를 생성하는 두 가지 방법을 다루도록 한다.
요구환경
ME MIDP 개발에 착수하려면 먼저 NetBeans IDE 5.0과 NetBeans Mobility Pack 5.0이 설치되어 있어야 한다. 다운로드하여 설치하는 방법을 보려면 Mobility Pack 다운로드 페이지를 참조할 것.
Visual Mobile Designer를 이용하여 MIDP 애플리케이션 작성하기
NetBeans IDE는 신속하게 MIDP 프로젝트를 생성할 수 있도록 해주는 마법사를 제공하며, 사용자는 프로젝트 생성 시 Visual Mobile Designer(VMD) 또는 Source Code Editor 중에서 선택하여 애플리케이션을 개발할 수 있다.
Visual Mobile Designer를 이용하면 그래픽으로 애플리케이션의 흐름을 설계하고 애플리케이션에서 사용하게 될 화면을 디자인할 수 있다. 디자이너는 애플리케이션을 위한 코드를 자동으로 생성한다.
MIDP 애플리케이션 작성하기
- File > New Project (Ctrl-Shift-N)를 선택하고, Categories 아래에서 Mobile을 선택한다. Projects 아래에서 Mobile Application을 선택한 다음 Next를 클릭한다.
- Project Name 필드에
MyHello를 입력하고, Project Location을 각자 시스템의 임의의 디렉토리로 변경한다. 이제부터 이 디렉토리를$PROJECTHOME으로 부르기로 한다. - Set as Main Project와 Create Hello MIDlet 체크박스에 체크 표시를 한다(기본값은 모두 체크되어 있다). Next를 클릭한다.
- Target Platform이 선택된 상태로 J2ME Wireless Toolkit을 놔둔다.
- Finish를 클릭한다. IDE가
$PROJECTHOME./MyHello프로젝트 폴더를 생성한다. 프로젝트 폴더에는 각자의 소스와 프로젝트 Ant 스크립트와 같은 프로젝트 메타데이터가 모두 포함되어 있다.
애플리케이션 자체가 VIsual Mobile Designer의 Flow Design 창에 디스플레이된다.

자바 소스 코드 편집하기
이제 MIDlet이 표시하는 텍스트를 편집해보자.
- Screen Design을 클릭한다.
이렇게 하면 Screen Designer 창이 열리고 애플리케이션에서 제공하는 고유 화면인helloForm[Form]화면이 디스플레이된다. - 'Hello world!' 텍스트를 더블 클릭하고 새 텍스트를 입력한다.
프로젝트 컴파일하고 실행하기
- Run 메뉴에서 Run > Run Main Project (F6)를 선택하고, Output 창을 더블 클릭하여 모든 출력을 볼 수 있도록 최대화한다. 실행 전에
HelloMIDlet.java파일이 생성된다는 점에 유의할 것. 디바이스 에뮬레이터가 열리고 실행된 MIDlet의 결과가 표시되는데, 이 때 기본값 디바이스 에뮬레이터는DefaultColorPhone이다. - 디바이스 에뮬레이터 창에서 Launch 명령어 아래의 버튼을 클릭한다. 디바이스 에뮬레이터는 MIDlet을 실행하여 사용자가 소스 코드에 입력한 텍스트를 표시한다.
- Exit 아래의 버튼을 클릭하여 MIDlet을 닫은 다음 디바이스의 우측 상단에 있는 버튼을 클릭하여 에뮬레이터 창을 닫는다.
Source Editor를 이용하여 MIDP 애플리케이션 작성하기
Source Code Editor를 이용하면 각자의 MIDlet을 위한 코드를 수동으로 생성할 수 있다. 이렇게 Source Code Editor에서 코드를 생성할 경우 코드 편집 시 유연성이 높아질 뿐 아니라 프리프로세서 코드 블록을 삽입할 수도 있게 된다.
이제 New Project와 New File 마법사를 이용하여 동일한 애플리케이션을 작성하고 Source Editor를 이용하여 코드를 마무리해보자.
새로운 Java ME MIDP 프로젝트 생성하기
- File > New Project (Ctrl-Shift-N)를 선택하고, Categories 아래에서 Mobile을 선택한다. Projects 아래에서 Mobile Application을 선택한 다음 Next를 클릭한다.
- Project Name 필드에
MyHelloMIDlet을 입력한다. Project Location을 각자 시스템의 임의의 디렉토리로 변경한다. 이제부터 이 디렉토리를$PROJECTHOME으로 부르기로 한다. - Set as Main Project 체크박스에 체크 표시를 하고 Create Hello MIDlet 체크박스의 체크 표시를 해제한다. Next를 클릭한다.
- Target Platform이 선택된 상태로 J2ME Wireless Toolkit을 놔둔다.
- Finish를 클릭한다. IDE가
$PROJECTHOME./MyHelloMIDlet프로젝트 폴더를 생성한다. 프로젝트 폴더에는 각자의 소스와 프로젝트 Ant 스크립트와 같은 프로젝트 메타데이터가 모두 포함되어 있다. - Explorer 창에서
MyHelloMIDlet노드를 마우슨 오른쪽 버튼으로 클릭하고 New > File/Folder를 선택한다. - Categories 아래에서 MIDP를, 그리고 File Types 아래에서 MIDlet을 선택한다. Next를 클릭한다.
- MIDlet 이름으로
HelloMIDlet을 입력한다. Finish를 클릭한다.HelloMIDlet.java가 생성된다. - HelloMIDlet.java를 더블 클릭하여 Editor에 소스 코드를 디스플레이한다.
- Source Editor를 클릭하고
public class HelloMidlet extends MIDlet
을 다음과 같이 변경한다.public class HelloMIDlet extends MIDlet implements javax.microedition.
lcdui.CommandListener { startApp()메소드 앞에 다음 코드를 추가한다.public HelloMIDlet() { }
private void initialize() {
javax.microedition.lcdui.Display.getDisplay(this).setCurrent
(get_helloTextBox());
}
public void commandAction(javax.microedition.lcdui.
Command command, javax.microedition.lcdui.Displayable displayable) {
if (displayable == helloTextBox) {
if (command == exitCommand) {
javax.microedition.lcdui.Display.getDisplay(this).
setCurrent(null);
destroyApp(true);
notifyDestroyed();
}
}
}
private javax.microedition.lcdui.TextBox get_helloTextBox() {
if (helloTextBox == null) {
helloTextBox = new javax.microedition.lcdui.TextBox
(null, "Test String",120, 0x0);
helloTextBox.addCommand(get_exitCommand());
helloTextBox.setCommandListener(this);
}
return helloTextBox;
}
private javax.microedition.lcdui.Command get_exitCommand() {
if (exitCommand == null) {
exitCommand = new javax.microedition.lcdui.Command
("Exit", javax.microedition.lcdui.Command.EXIT, 1);
}
return exitCommand;
}
javax.microedition.lcdui.TextBox helloTextBox;
javax.microedition.lcdui.Command exitCommand;startApp()메소드에initialize();행을 추가하여 다음과 같은 모습이 되도록 한다.public void startApp() { initialize(); }
자바 소스 코드 편집하기
이제 우리의 MIDlet이 표시할 텍스트를 추가해 보기로 하자.
get_helloTextBox()메소드에서 '테스트 스트링' 코드를 적당한 텍스트--가령, 'Hello World'--로 대체한다.
프로젝트 컴파일하고 실행하기
- Run 메뉴에서 Run > Run Main Project (F6)를 선택하고, Output 창을 더블 클릭하여 모든 출력을 볼 수 있도록 최대화한다. 실행 전에
HelloMIDlet.java파일이 생성된다는 점에 유의할 것. 디바이스 에뮬레이터가 열리고 실행된 MIDlet의 결과가 표시되는데, 이 때 기본값 디바이스 에뮬레이터는DefaultColorPhone이다. - 디바이스 에뮬레이터 창에서 Launch 명령어 아래의 버튼을 클릭한다. 디바이스 에뮬레이터는 MIDlet을 실행하여 사용자가 소스 코드에 입력한 텍스트를 표시한다.
- Exit 아래의 버튼을 클릭하여 MIDlet을 닫은 다음 디바이스의 우측 상단에 있는 버튼을 클릭하여 에뮬레이터 창을 닫는다.
에뮬레이터 플랫폼 변경하기
에뮬레이터 플랫폼은 이동 전화 제조업체에서 제공하므로 개발자는 특정 모바일 디바이스의 동작을 시뮬레이트하면서 애플리케이션을 코딩, 디버깅, 테스팅할 수 있다. NetBeans Mobility Pack에는 J2ME Wireless Toolkit이 포함되어 있으며 Nokia, Sony Ericsson, Motorola 등의 공급업체 사이트에서 다운로드할 수 있는 그 밖의 여러 SDK(software development kit)가 지원된다.
기본값 에뮬레이터 디바이스 변경하기
- MyHello Project 노드를 마우스 오른쪽 버튼으로 클릭하고 Properties를 선택한다. Properties 대화상자에서 Platform 노드를 선택한다. 여기서 기본값 구성을 위한 디바이스를 변경할 수 있다.
- Device 리스트를 클릭하여 QwertyDevice를 선택한다. OK를 클릭한다.
- 애플리케이션을 다시 실행하면 애플리케이션은
QwertyDevice에뮬레이터에서 실행된다.
새로운 에뮬레이터 플랫폼 추가하기
- 메인 툴바에서 Tools > Java Platform Manager를 선택하고,
- Java Platform Editor 대화상자에서 Add Platform 버튼을 클릭한다.
- Select Platform Type 페이지에서 Java Micro Edition Platform Emulator를 선택하고 Next를 클릭한다.
Platforms 페이지에서 IDE는 이용 가능한 모든 Java ME 플랫폼을 검색하여 창에 표시하는데, UEI(Unified Emulator Interface) 표준을 준수하는 플랫폼은 플랫폼 이름 옆의 체크박스에 체크 표시가 된다. UEI를 준수하지 않거나 그 밖의 이유로 설치가 불가능한 플랫폼은 적색으로 표시된다. 마법사는 또한 이미 설치되어 있는 플랫폼을 식별한다.
참고: UEI 비 준수 플랫폼을 설치하려면 Back 버튼을 클릭하고 Custom Java Micro Edition Platform Emulator를 선택한다. - Platforms 페이지에서 설치하고자 하는 플랫폼 에뮬레이터 옆에 체크 표시를 하고 Finish를 클릭한다. 이어서 Close를 클릭한다.
선택된 플랫폼이 설치된다. - File > "MyHello" Properties를 선택하여
- Platform 노드를 선택한 다음 Emulator Platform 메뉴에서 새 에뮬레이터의 이름(가령, J2ME Wireless Toolkit 2.2)을 선택한다. OK를 클릭한다.
구성 사용하기
사용자는 구성을 사용하여 각자의 프로젝트를 위해 두 세트 이상의 배포용 JAR과 JAD(Java Application Descriptor) 파일을 생성할 수 있다. 이로써 사용자는 한 세트의 소스 코드를 생성하여 프로그래밍 중인 각 모바일 디바이스에 맞게 사용자 정의할 수 있게 된다.
구성 추가하기
- MyHello Project 노드를 마우스 오른쪽 버튼으로 클릭하고 Properties를 선택한다. Properties 대화상자에서 Project Configuration 리스트의 Add Configuration을 선택하면 Add Configuration 대화상자가 열린다.
- Configuration Name 필드에 각자의 구성에 사용할 이름을 입력한다. 이 때 이름은 이 구성을 위해 생성된 JAR/JAD를 배포할 타깃 플랫폼을 가리켜야 한다. 이 예제에서는
BlackWhiteDisplay를 입력하고 OK를 클릭한다. 이제 새 구성이 생성되었다. - 구 성은 또한 Properties 대화상자에서 Manage Configurations 버튼을 클릭해서 추가할 수도 있다. 이렇게 하면 구성의 추가, 제거, 복제를 위한 옵션이 포함된 Project Configuration Manager 대화상자가 나타난다.
구성 사용자 정의하기
사용자는 각자의 프로젝트에 원하는 만큼의 구성을 추가할 수 있고, 그런 다음 사용자가 추가한 각 구성의 Project Properties 대화상자에서 설정을 변경할 수 있다.
- MyHello Project 노드를 마우스 오른쪽 버튼으로 클릭하고 Properties를 선택한다. Properties 대화상자에서 Platform 노드를 선택한다. 그러면 J2ME MIDP Configuration 대화상자가 열린다.
- Properties 대화상자의 상단에 위치한 구성 콤보 박스에서
BlackWhiteDisplay구성을 선택한다. - Platform 대화상자의 구성요소들이 모두 Disable('사용하지 않음') 상태가 되는데, 그 이유는 이 구성이 현재 이 패널을 위한 기본값 구성에서 사용되는 값을 취하고 있기 때문이다. 패널 하단에 있는 Use Default Project Configuration Values 옵션의 체크 표시를 해제한다. 이제 이 패널의 모든 구성요소를 편집할 수 있다.
- Device 옵션을 DefaultGrayPhone으로 변경한다.
- Properties 대화상자의 상단에 위치한 Project Configuration 대화상자를 토글하여 현재 어떤 구성이 선택되어 있는지에 따라 Device 옵션이 바뀌는 것을 확인한다. 이 구성 커스터마이즈 방법은 대화상자 내의 각 패널(일반 패널 제외)에 적용된다. OK를 클릭하여 구성 변경을 저장하고 Properties 대화상자를 빠져나온다.
어빌리티 생성하기
어 빌리티 생성 시에는 특정 속성을 지원하는 하나 이상의 프로젝트 구성과 연결시키도록 한다. 그런 다음 어빌리티를 속성을 지원하는 하나 이상의 코드 블록과 연결시킬 수 있다. 나중에 구성을 추가하거나 제거해야 할 경우 코드를 모두 검토하고 구성을 각 코드 블록과 연결시킬 필요가 없게 된다. 그 대신 구성을 하나의 어빌리티에 연결시키기만 하면 된다. 그러면 구성은 해당 어빌리티와 연결된 코드 블록에 자동으로 연결된다.
- MyHello Project 노드를 마우스 오른쪽 버튼으로 클릭하고 Properties를 선택한다.
- Category 메뉴 트리에서 Abilities 페이지를 선택한다.
- Project Configuration 드롭다운 메뉴에서 구성을 선택하는데, 이는 어빌리티가 연결될 구성이다.
- 필요할 경우 'DefaultConfiguration' 체크박스에서 Use Values의 체크 표시를 해제한다.
- Add 버튼을 클릭하면
Add Ability 대화상자가 열린다. - New Ability 대화상자에서 어빌리티를 위한 이름을 입력하거나 드롭다운 메뉴에서 어빌리티를 선택하고, 옵션으로 어빌리티 값을 입력한다.
Ok를 클릭하여 New Ability 대화상자를 닫는다. 어빌리티는 이제 선택한 프로젝트 구성과 연결되었다.
Project Configuration 메뉴에서 다른 구성을 선택하고 Add 버튼을 클릭하면 어빌리티를 다른 구성에 연결할 수 있다.
구성별 코드(프리프로세서 코드) 추가하기
프리프로세서 블록은 사용자가 하나 이상의 프로젝트 구성 또는 어빌리티에 대한 특정 코드를 생성, 관리, 추적할 수 있게 해준다. 코드는 사용자가 지정한 구성 또는 어빌리티에 대해서만 인에이블(또는 디스에이블) 된다.
- HelloMIDlet.java Editor 창에서 TextBox가 인스턴스화된 소스 코드 행(
helloTextBox = new javax.microedition.lcdui.TextBox(null, "Hello, World",120, 0x0);)을 마우스 오른쪽으로 버튼으로 클릭한다. - 해 당되는 행을 마우스 오른쪽으로 클릭하고 Preprocessor Blocks > Create If/Else Block을 선택한다. 첫 번째의 핑크 섹션에서 'Hello World' 문자열에 'Color'를 추가하고, 두 번째의 그레이 섹션에서는 'Hello World' 문자열에 'Gray'를 추가한다.
//#if프리프로세서 지시어가 표시된 코드는 활성 구성이 지시어 값(이 경우에는 DefaultConfiguration)과 일치할 때마다 효력을 가지게 된다.//#else프리프로세서 지시어가 표시된 코드는 활성 구성이 프리프로세서의 값과 일치하지 않을 때마다 사용된다.
다시 말해, 에뮬레이터는 활성 플랫폼이 'DefaultConfiguration'일 때마다 'Hello World Color'를 디스플레이하고, 활성 구성이 다른 에뮬레이터 플랫폼인 경우에는 'Hello World Gray'를 디스플레이하게 된다. //#endif 프리프로세서 지시어가 프리프로세서 블록을 마무리한다.
에뮬레이터 플랫폼 변경하기에서 설명한 것처럼, 사용자는 다른 에뮬레이터 디바이스를 사용하는 MIDlet을 실행하여 프리프로세서 코드를 테스트할 수 있다.
구성 실행하기
구성은 개별적으로 또는 동시에 설정하고 실행할 수 있다.
- MyHello Project 노드를 마우스 오른쪽 버튼으로 클릭하고 Properties를 선택한다.
- MyHello Project 노드를 마우스 오른쪽 버튼으로 클릭하고 Set Active Project Configuration을 선택하여 다른 구성을 활성화한 다음 구성을 선택한다. 이 작업은 각 텍스트 에디터의 구성 콤보 박스를 통해서도 수행할 수 있다. 프로젝트를 다시 실행한다.
- 칼라와 그레이의 두 가지 에뮬레이터가 표시되는데, 그레이 에뮬레이터는 'Hello World Gray'를, 그리고 칼라 에뮬레이터는 'Hello World Color'를 디스플레이한다.
클라이언트-서버 애플리케이션 작성하기
IDE는 사용자가 직접 '2 티어' 아키텍처, 또는 미들웨어 웹 애플리케이션을 통해 웹 서비스에 연결되는 '3 티어' 아키텍처를 통해 웹 서비스에 연결 가능한 클라이언트 MIDlet을 생성할 수 있게 해준다.
IDE는 연결 클래스를 생성하기 위한 2가지의 마법사를 제공한다.
- JSR-172 Web Services 스펙을 이용하여 웹 서비스에 대한 '2 티어' 연결을 생성하고자 할 경우에는 J2ME Web Service Client 마법사를 사용하는데, 이 마법사는 stub(클라이언트 측 프록시) 파일과 옵션으로 웹 서비스를 호출하는 샘플 클라이언트 MIDlet을 생성한다. 사용자가 이 마법사를 이용하려면 반드시 JSR-172 스펙을 지원하는 디바이스 또는 에뮬레이터 플랫폼을 가지고 있어야 한다.
- 사용자의 디바이스가 JSR-172 Web Services 스펙을 지원하지 않는 경우에는 Mobile Client to Web Application Generator를 사용하여 웹 서비스에 대한 '3 티어' 연결을 생성한다. 마법사는 웹 서비스 클라이언트를 포함하고 있는 웹 애플리케이션에 연결되는 서블릿을 생성한다. 이 때 사용자가 Mobile Client to Web Application Generator를 이용하려면 반드시 웹 서비스 클라이언트가 포함된 웹 프로젝트를 가지고 있어야 한다.
Java ME Web Services
(JSR-172) 클라이언트 생성하기
- 프로젝트 노드를 마우스 오른쪽 버튼으로 클릭하고 New File/Folder를 선택한다.
- New File 마법사에서 Categories 아래의 MIDP를 선택하고, File Types 아래에서 J2ME Web Services Client를 선택한다.
- 프로젝트에 추가할 웹 서비스를 위한 WSDL 파일의 위치를 확인한다.
- WSDL 서비스가 Web 상에 있는 경우:
- Running Web Service를 선택하여 WSDL 파일에 대한 URL을 입력하고 검색된 WSDL을 위한 로컬 파일명을 입력한다.
- 방화벽을 사용하는 경우에는 Proxy Settings를 클릭하여 해당 HTTP 호스트와 포트를 지정한다.
- Retrieve WSDL을 클릭하여 WDSL 파일의 로컬 카피를 얻는다. 이 때 IDE는 WSDL 파일을 다운로드한다.
- 사용자의 환경에 WSDL 파일이 있는 경우에는 Existing WSDL 파일을 선택하고 파일명을 입력한다.
- WSDL 파일이 검색되고 페이지의 나머지 필드가 WSDL 파일 이름에서 파생된 기본값 이름으로 채워진다.
- Finish를 누른다.
IDE는 열린 설정 파일과 클라이언트 stub를 생성한다.
- 일 부 드문 경우에 한해서 CLDC 1.1 타입을 CLDC 1.0 타입으로 변환해야 할 수도 있는데, 이는 Float 및 Double 타입이 String 변수로 변환됨을 의미한다. 변환을 수행하려면 설정 파일의 'Convert floating point to String' 체크박스를 선택하고 Generate Stubs 버튼을 클릭한다.
- 방화벽을 사용하는 경우에는 NetBeans 내의 HTTPS 프록시에 공개 설정을 사용할 수 없는데, 이를 피하려면 명령어 라인에서
-J-DhttpsProxy.host and -J-DhttpsProxy.port명령어로 IDE를 실행하거나/etc/netbeans.conf파일에 프록시 설정을 추가하도록 한다. - 생성된 파일은 편집해서는 안 되며, 파일에 대한 변경 사항은 재생성 시 손실된다.
Mobile Client to Web Application Generator 사용하기
- Projects 뷰에서 Mobile Project를 선택하고 File > New File을 선택하여 Mobile Client to Web Application Generator를 연다. Categories에서 MIDP를 선택하고, File Types에서 Mobile Client to Web Application Generator Client를 선택한다. Next를 클릭한다.
- Web Application and Client Type Selection 페이지에서 생성된 서버 코드에 해당되는 웹 프로젝트, 서블릿 이름, 패키지를 선택한다.
- 같은 페이지에서 MIDlet이 인터랙트하는 웹 애플리케이션의 종류를 선택한다.
- 모바일 클라이언트가 웹 서비스를 이용하지 않는 웹 애플리케이션에 직접 연결되는 경우에는 Methods in Web Application을 선택한다.
- 모바일 클라이언트가 미들웨어 웹 애플리케이션을 통해 웹 서비스에 연결되는 경우에는 Web Services in Web Application을 선택한 다음 드롭다운 메뉴를 이용하여 Web Service 클라이언트를 선택한다.
- Service Selection 페이지에서, 서버에서 클라이언트 애플리케이션으로 익스포트될 서비스를 확인한다.
- Client Options 페이지에서 생성된 클라이언트 클래스에 해당되는 이름과 패키지를 선택한다.
- 같은 페이지에서, 생성될 코드의 타입도 함께 지정할 수 있다.
- 익스포트되는 각 서비스에 대한 stub 메소드
- 세션 당 복수 호출을 가능케 하는 코드
- 부동 소수점 값을 허용하는 코드
- 추적 코드
- 사용자가 검토하고 수정할 수 있는 샘플 MIDlet
템플릿은 다음 항목을 생성한다.
- Java ME 클라이언트 클래스
- 서블릿과 지원 클래스
- XML 포맷의 매핑 파일
- 선택 시 사용자가 검토하고 수정할 수 있는 MIDlet
Java ME 클라이언트, 매핑 파일, MIDlet 등은 Java ME 프로젝트 아래에, 그리고 서블릿과 지원 클래스는 웹 프로젝트 아래에 생성된다. 서블릿은 또한 웹 애플리케이션(web.xml)에도 추가된다.
애플리케이션 로컬라이즈하기
로 컬라이제이션은 소프트웨어를 설계 변경 없이 다양한 언어와 지역에 맞도록 매치시키는 과정을 말한다. 애플리케이션을 로컬라이즈할 때는 사용자가 화면 텍스트, 메뉴, 아이콘 등과 같은 애플리케이션의 각 요소들에 대해 대체 언어 값을 제공한다.
로컬라이제이션 지원 추가하기
- 로컬라이제이션 지원 및 메시지 속성 파일을 초기화하는 자바 클래스를 생성한다.
- 프로젝트 노드를 마우스 오른쪽 버튼으로 클릭하고 New File/Folder를 선택한다.
- Categories 아래에서 MIDP를 선택한다. File Types 아래에서 Localization Support Class를 선택하고 Next를 클릭한다.
- Finish를 클릭하여 기본값을 사용한다. 이렇게 하면
LocalizationSupport.java및messages.properties파일이 생성된다.
- Internationalization String 및 Search 포맷을 변경한다.
- Tools > Options를 선택하고 Advanced Options 버튼을 클릭한다.
- Options 메뉴 트리에서 Internationalization 노드를 선택한다.
- 속성 창에서 다음을 수행한다:
- II8N String Format 속성 값을
LocalizationSupport.getMessage("{key}")로 변경한다 - II8N Search Format 속성 값을
(getString|getBundle|getMessage)[:space:]*\([:space:]*{hardString}|//NOI18N으로 변경한다.
- II8N String Format 속성 값을
- 로컬라이제이션 키와 해당 값을 추가한다.
- Tools > Internationalization > Internationalization Wizard를 선택한다. 그러면 Internationalization 마법사가 열린다.
HelloMIDletMIDlet을 국제화할 소스 파일로 선택하고 Next를 클릭한다.messages.properties리소스 파일을 국제화된 문자열에 대한 값을 저장할 파일로 선택한다. Next를 클릭한다.HelloMIDletMIDlet에 대해 확인된 각 키의 Value 필드를 수정한다.messages.properties파일에 문자열을 모두 추가한 후 다음을 수행하여 새로운 로케일 각각에 대한 값을 추가한다.- Projects 뷰에서 파일 노드를 마우스 오른쪽 버튼으로 클릭하고 Add Locale을 선택한다.
- Predefined Locales 리스트 박스에서 지원을 원하는 로케일을 선택하거나 양식의 상단에 있는 콤보 박스를 이용하여 새로운 로케일을 정의한다.
- Projects 뷰에서
message.properties노드를 확장하고 새로 추가된 로케일을 더블 클릭한다. - 모든 속성을 해당 언어로 번역한다.
- 코드를 추가하여 로컬라이제이션을 초기화한다.
- 키를 로컬라이즈하고자 할 때마다 각자의 MIDlet에 다음의 문자열을 입력한다:
LocalizationSupport.getMessage("Key");
예)LocalizationSupport.getMessage("LAB_NextButton");
- 키를 로컬라이즈하고자 할 때마다 각자의 MIDlet에 다음의 문자열을 입력한다:
모바일 애플리케이션은 microedition.locale 속성을 이용하여 어떤 버전의 messages.properties 파일을 사용해야 할지 결정한다.
다음 단계
NetBeans IDE 5.0의 사용법에 관한 자세한 내용을 보려면 다음 자료를 참조하기 바란다.
- NetBeans IDE 5.0 퀵스타트 가이드(영문):
- NetBeans IDE 5.0 임포트 가이드(영문):
- NetBeans IDE 지원 및 문서 페이지
"Java ME" 카테고리의 다른 글
- Wireless Messaging API 2.0 (댓글 4개 / 트랙백 0개) 2005/12/07
- 모바일 자바 플랫폼의 현재와 미래 (댓글 5개 / 트랙백 1개) 2006/07/26
- Java ME 애플리케이션에서 SATSA API를 사용하여 데이터를 암호화하는 방법 (댓글 0개 / 트랙백 0개) 2007/12/03
- OpenGL ES와 모바일 센서 API를 이용한 게임 업계의 새로운 지평 (댓글 0개 / 트랙백 0개) 2008/05/20
- PIM API 시작하기 (댓글 2개 / 트랙백 0개) 2006/02/02
- Personal Basis Profile 대 Personal Profile: 차이점은... (댓글 4개 / 트랙백 0개) 2006/03/26
- NetBeans를 사용해야 하는 12가지 이유 (댓글 4개 / 트랙백 0개) 2006/08/26
- NetBeans IDE에서 모빌리티 지원하는 게임 만들기 (댓글 1개 / 트랙백 0개) 2008/01/18
- 블루투스에 대한 궁금증 해결 (댓글 0개 / 트랙백 0개) 2008/06/09
- 모바일 및 임베디드 개발자 컨퍼런스 Recap (댓글 0개 / 트랙백 0개) 2008/02/26
댓글을 달아 주세요
좋은 글 감사합니다
2007/09/07 20:05쉬운 예제와 설명 잘 읽었읍니다. 큰 도움이 되겠어요.
2007/09/09 23:06많은것을배우고갑니다.
2007/09/12 18:18좋은 정보 감사해요~
2007/09/19 04:11좋은 정보가 상당히 많은데요~
2007/09/19 22:53