|
À̹ø ¹®¼¿¡¼´Â 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À¸·Î º¯°æÇÑ´Ù.
- ·ÎÄöóÀÌÁ¦ÀÌ¼Ç Å°¿Í ÇØ´ç °ªÀ» Ãß°¡ÇÑ´Ù.
- Tools > Internationalization > Internationalization Wizard¸¦ ¼±ÅÃÇÑ´Ù. ±×·¯¸é Internationalization ¸¶¹ý»ç°¡ ¿¸°´Ù.
HelloMIDlet MIDletÀ» ±¹Á¦ÈÇÒ ¼Ò½º ÆÄÀÏ·Î ¼±ÅÃÇϰí Next¸¦ Ŭ¸¯ÇÑ´Ù.
messages.properties ¸®¼Ò½º ÆÄÀÏÀ» ±¹Á¦ÈµÈ ¹®ÀÚ¿¿¡ ´ëÇÑ °ªÀ» ÀúÀåÇÒ ÆÄÀÏ·Î ¼±ÅÃÇÑ´Ù. Next¸¦ Ŭ¸¯ÇÑ´Ù.
HelloMIDlet MIDlet¿¡ ´ëÇØ È®ÀÎµÈ °¢ ŰÀÇ Value Çʵ带 ¼öÁ¤ÇÑ´Ù.
messages.properties ÆÄÀÏ¿¡ ¹®ÀÚ¿À» ¸ðµÎ Ãß°¡ÇÑ ÈÄ ´ÙÀ½À» ¼öÇàÇÏ¿© »õ·Î¿î ·ÎÄÉÀÏ °¢°¢¿¡ ´ëÇÑ °ªÀ» Ãß°¡ÇÑ´Ù.
- Projects ºä¿¡¼ ÆÄÀÏ ³ëµå¸¦ ¸¶¿ì½º ¿À¸¥ÂÊ ¹öưÀ¸·Î Ŭ¸¯Çϰí Add LocaleÀ» ¼±ÅÃÇÑ´Ù.
- Predefined Locales ¸®½ºÆ® ¹Ú½º¿¡¼ Áö¿øÀ» ¿øÇÏ´Â ·ÎÄÉÀÏÀ» ¼±ÅÃÇϰųª ¾ç½ÄÀÇ »ó´Ü¿¡ ÀÖ´Â ÄÞº¸ ¹Ú½º¸¦ ÀÌ¿ëÇÏ¿© »õ·Î¿î ·ÎÄÉÀÏÀ» Á¤ÀÇÇÑ´Ù.
- Projects ºä¿¡¼
message.properties ³ëµå¸¦ È®ÀåÇÏ°í »õ·Î Ãß°¡µÈ ·ÎÄÉÀÏÀ» ´õºí Ŭ¸¯ÇÑ´Ù.
- ¸ðµç ¼Ó¼ºÀ» ÇØ´ç ¾ð¾î·Î ¹ø¿ªÇÑ´Ù.
- Äڵ带 Ãß°¡ÇÏ¿© ·ÎÄöóÀÌÁ¦À̼ÇÀ» ÃʱâÈÇÑ´Ù.
- ۸¦ ·ÎÄöóÀÌÁîÇϰíÀÚ ÇÒ ¶§¸¶´Ù °¢ÀÚÀÇ MIDlet¿¡ ´ÙÀ½ÀÇ ¹®ÀÚ¿À» ÀÔ·ÂÇÑ´Ù:
LocalizationSupport.getMessage("Key");
¿¹) LocalizationSupport.getMessage("LAB_NextButton");
¸ð¹ÙÀÏ ¾ÖÇø®ÄÉÀ̼ÇÀº microedition.locale ¼Ó¼ºÀ» ÀÌ¿ëÇÏ¿© ¾î¶² ¹öÀüÀÇ messages.properties ÆÄÀÏÀ» »ç¿ëÇØ¾ß ÇÒÁö °áÁ¤ÇÑ´Ù.
´ÙÀ½ ´Ü°è
NetBeans IDE 5.0ÀÇ »ç¿ë¹ý¿¡ °üÇÑ ÀÚ¼¼ÇÑ ³»¿ëÀ» º¸·Á¸é ´ÙÀ½ ÀڷḦ ÂüÁ¶Çϱ⠹ٶõ´Ù.
|