¸ÏÔÚ2009ÄêSLR Í£²ú֮ǰÂòÒ»Á¾

±àдPalm J2MEºìÍâÏß¡°ÁÄÌ족³ÌÐò

ÉÏһƪ / ÏÂһƪ  2007-12-26 16:17:54 / ¸öÈË·ÖÀà£ºÒÆ¶¯¿ª·¢

ºìÍâͨÐÅÓÐ×ųɱ¾µÍÁ®¡¢Á¬½Ó·½±ã¡¢¼òµ¥Ò×Óúͽṹ½ô´ÕµÄÌØµã£¬Òò´ËÔÚСÐÍÒÆ¶¯É豸ÖлñµÃÁ˹㷺µÄÓ¦Óá£ÕâЩÉ豸°üÀ¨±Ê¼Ç±¾µçÄÔ¡¢ÕÆÉϵçÄÔ¡¢»ú¶¥ºÐ¡¢ÓÎÏ·»ú¡¢Òƶ¯µç»°¡¢¼ÆËãÆ÷¡¢Ñ°ºô»ú¡¢ÒÇÆ÷ÒÇ±í¡¢MP3²¥·Å»ú¡¢ÊýÂëÏà»ú¼°´òÓ¡»úÖ®ÀàµÄ¼ÆËã»úÍâΧÉ豸µÈ¡£ºìÍâÏßÊý¾ÝËäȻʹÓõ÷dz£ÆÕ±é£¬µ«ÓйغìÍâ³ÌÐòµÄ±àд£¬ÒÔ¼°ºìÍâЭÒéµÄ½éÉܱȽÏÉÙ¡£Òò¶ø£¬Ê¹µÃºìÍâÏß³ÌÐòµÄ±àдÏÔµÃÓÐЩÉñÃØ¡£±¾ÎĽ«Ì½ÌÖPalm J2MEµÄºìÍâÏßͨÐųÌÐòµÄÉè¼Æ¡£


ºìÍâÏßͨÐÅЭÒé½éÉÜ


    »ùÓÚºìÍâÏߵĴ«Êä¼¼Êõ×î½ü¼¸ÄêÓÐÁ˺ܴó·¢Õ¹¡£Ä¿Ç°¹ã·ºÊ¹ÓõļҵçÒ£¿ØÆ÷¼¸ºõ¶¼ÊDzÉÓõĺìÍâÏß´«Êä¼¼Êõ¡£×÷ΪÎÞÏß¾ÖÓòÍøµÄ´«Ê䷽ʽ£¬ºìÍâÏß·½Ê½µÄ×î´óÓŵãÊDz»ÊÜÎÞÏßµç¸ÉÈÅ£¬ÇÒËüµÄʹÓò»Êܹú¼ÒÎÞÏß¹ÜÀíίԱ»áµÄÏÞÖÆ¡£µ«ÊÇ£¬ºìÍâÏß¶Ô·Ç͸Ã÷ÎïÌåµÄ͸¹ýÐԽϲµ¼Ö´«Êä¾àÀëÊÜÏÞÖÆ¡£ 

    ºìÍâÏßÊDz¨³¤ÔÚ750nmÖÁ1mmÖ®¼äµÄµç´Å²¨£¬ËüµÄƵÂʸßÓÚ΢²¨¶øµÍÓڿɼû¹â£¬ÊÇÒ»ÖÖÈ˵ÄÑÛ¾¦¿´²»µ½µÄ¹âÏß¡£ºìÍâͨÐÅÒ»°ã²ÉÓúìÍⲨ¶ÎÄڵĽüºìÍâÏߣ¬²¨³¤ÔÚ0.75umÖÁ25umÖ®¼ä¡£ºìÍâÊý¾ÝЭ»á£¨IRDA£©³ÉÁ¢ºó£¬ÎªÁ˱£Ö¤²»Í¬³§É̵ĺìÍâ²úÆ·Äܹ»»ñµÃ×î¼ÑµÄͨÐÅЧ¹û£¬ºìÍâͨÐÅЭÒ齫ºìÍâÊý¾ÝͨÐÅËù²ÉÓõĹⲨ²¨³¤µÄ·¶Î§ÏÞ¶¨ÔÚ850ÖÁ900nmÖ®ÄÚ¡£ 

    IRDA±ê×¼°üÀ¨Èý¸ö»ù±¾µÄ¹æ·¶ºÍЭÒ飺ÎïÀí²ã¹æ·¶(Physical Layer Link Specification)¡¢Á´½Ó½¨Á¢Ð­Òé(Link Access Protocol:IrLAP)ºÍÁ´½Ó¹ÜÀíЭÒ飨Link Management Protocol:IrLMP)¡£ÎïÀí²ã¹æ·¶Öƶ¨Á˺ìÍâͨÐÅÓ²¼þÉè¼ÆÉϵÄÄ¿±êºÍÒªÇó£¬IrLAPºÍIrLMPΪÁ½¸öÈí¼þ²ã£¬¸ºÔð¶ÔÁ´½Ó½øÐÐÉèÖᢹÜÀíºÍά»¤¡£ÔÚIrLAPºÍIrLMP»ù´¡ÉÏ£¬Õë¶ÔÒ»Ð©ÌØ¶¨µÄºìÍâͨÐÅÓ¦ÓÃÁìÓò£¬IRDA»¹Â½Ðø·¢²¼ÁËһЩ¸ü¸ß¼¶±ðµÄºìÍâЭÒ飬ÈçTinyTP¡¢IrOBEX¡¢IrCOMM¡¢IrLAN¡¢IrTran-PºÍIrBusµÈµÈ£¨¼ûͼ1£©¡£


ͼ1 IrBusºìÍâÏßͨÐÅЭÒé²ã 

Palm J2ME¶ÔºìÍâ¿ÚµÄ²Ù×÷½éÉÜ 

    ÊÂʵÉÏ£¬Sun¶Ô»ùÓÚPalmµÄJava³ÌÐòÉè¼ÆÌṩÁËÁ½ÖÖ·½·¨£ºÒ»ÖÖÊÇÀûÓÃCLDC+KJava£»ÁíÒ»ÖÖÊÇÀûÓÃCLDC£«MIDP£¬È»ºóͨ¹ýMIDP4Palm½«MIDPת»»ÎªPalmÉÏ¿ÉÒÔÔËÐеijÌÐò¡£Ç°Ò»ÖÖΪ±à³Ì·½Ê½£¬ËüÎÞÂÛ´Ó¹¦ÄÜ¡¢¶Ôºº×ÖµÄÖ§³Ö¡¢»¹ÊÇÔËÐÐËÙ¶ÈÉ϶¼¸ßÓÚºóÕߣ¬µ«ÊÇǰһÖÖÌṩµÄJavaÐéÄâ»úKVMÊǵ¥É«µÄ£¬²»¹ý¿ÉÒÔÑ¡ÓÃÍêÈ«¼æÈÝKVMµÄKAWTÐéÄâ»úÀ´ÃÖ²¹´Ëȱº¶¡£ºóÒ»ÖÖ±à³Ì·½Ê½Ã»ÓÐÌṩ¶ÔºìÍâ¿Ú²Ù×÷µÄÀà¿â»ò·½·¨¡£ 

    Sun¹«Ë¾µÄJ2MEÖеÄCLDC1.x£¬KJavaΪPalmÌṩÁ˺ìÍâͨÐŵÄAPI¹¦Äܰü¡£ÔÚKJavaµÄAPIÖУ¬Palm Ó¦³ÌÐòÖеÄÖ÷³ÌÐò±ØÐë´ÓJ2MEµÄSpotletÀàÅÉÉú¶øÀ´¡£


ͼ2 Sun JavaÌåϵ½á¹¹


    SpotletÀàÌṩÁËPalm¾­¹ýºìÍâ¿Ú·¢ËÍÊý¾ÝµÄ¾²Ì¬·½·¨beamSend()¡£ÔÚPalmÓ¦ÓóÌÐòÖУ¬Ö»ÐèÒª½«´ý¾­ºìÍâÏß·¢Ë͵ÄÊý¾Ýת»¯Îª×Ö½ÚÊý×飬ֱ½ÓÀûÓÃbeamSend()¾Í¿ÉÒÔ½«Êý¾Ý¾­ºìÍâ¿Ú·¢Ë͸ø±ðµÄÉ豸£¬¼ûÏÂÃæ³ÌÐò´úÂë¡£

....
public boolean sendData(String s)
{
boolean state=false;
if (s!=null)
state=this.beamSend(s.getBytes());
return state;
}....... 


    ¶ÔÓÚºìÍâÏßÊý¾ÝµÄ½ÓÊÕ£¬SpotletÀàÌṩÁË beamReceive(byte[]) ·½·¨£¬½«¾­ºìÍâ¿Ú½ÓÊÕµ½µÄÊý¾Ý´æ´¢µ½Ò»¸ö×Ö½ÚÊý×éÖУ¬½øÒ»²½Í¨¹ý¶Ô´Ë×Ö½ÚÊý×é²Ù×÷£¨È罫Æäת»¯Îª×Ö·û´®µÈ£©£¬¿ÉÒÔ½«»ñµÃµÄÊý¾ÝÏÔʾ³öÀ´£¬¼ûÏÂÃæ³ÌÐò´úÂë¡£

//Receive beam Data
public void beamReceive(byte[] parm1) {
super.beamReceive( parm1);
beamData=new String(parm1);
System.out.print(¡°the received beam datab is:\n¡±+eamData);
£ý




Palm J2MEºìÍâÏßÁÄÌì³ÌÐò 


    PalmºìÍâÏßÊý¾Ý´«ÊäÓ¦ÓóÌÐòµÄ±àд£¬È¡¾öÓÚ¾­ºìÍâÏßͨÐŵÄË«·½¡£Í¨ÐŵÄË«·½±ØÐ뽫½ÓÊܺìÍâÏßÉèÖÃΪBeam Receive: on¡£Ë«·½±ØÐë°²×°ÏàÓ¦µÄºìÍâͨѶÈí¼þ¡£ 

    Ôڴ˼ÙÉèͨÐŵÄË«·½¾ùÊÇPalmÕÆÉϵçÄÔ£¬Ë«ÏòʹÓúìÍâÏßÁÄÌìϵͳ¡£Í¨ÐŵÄË«·½¿ÉÒÔ²ÉÓÃÏàͬµÄ³ÌÐò¡£ÏµÍ³µÄÖ÷ÒªÉè¼ÆË¼Â·ÊÇ£ºÔÚPalm J2ME³ÌÐòGUIÖУ¬¹¹ÔìÁ½¸öTextFieldÓÃÓÚ¶Ô»°¿ò£¬Ò»¸öÓÃÓÚ·¢ËÍÊý¾Ý£¬ÁíÒ»¸öÓÃÓÚÏÔʾ¾­ºìÍâ¿Ú½ÓÊÕµ½µÄÊý¾Ý£¬È»ºóÔÚ¹¹Ô켸¸ö°´Å¥£¬Íê³ÉÊý¾ÝµÄ·¢ËÍ¡¢³ÌÐòÍ˳öµÈ£¨¼ûͼ3£©¡£




ͼ3 PalmºìÍâÁÄÌì³ÌÐò 


    ³ÌÐò˵Ã÷ÈçÏ :

£¨1£©¹¹ÔìÀàBeamDemo£¬ÓÉÓÚBeamDemoÊôÓÚPalm µÄJ2ME³ÌÐòµÄÈë¿ÚÀà±ØÐëÓÉSpotletÅÉÉú£¬Í¬Ê±BeamDemoÍê³ÉDialogOwnerÀࣨ¸ÃÀàÊÇ·ñÍê³Éimplements¿ÉÑ¡£©Èçͼ4Ëùʾ¡£







ͼ4 BeamDemo UMLÀàͼ

£¨2£©ÉèÖÃBeamDemoµÄ³ÌÐòÈë¿Ú£¬´úÂëÈçÏ¡£

public static void main(String args[]) {
new BeamDemo().register(WANT_SYSTEM_KEYS);
}


Spotlet.register()µÄϵͳע²áʼþ¿ÉÒÔÓÐÁ½ÖÖ£º 

    Ò»ÖÖΪNO_EVENT_OPTIONS¡£Èç¹û×¢²áÁË´ËÀàʼþ£¬PalmµÄ¼¸¸ö¹¦ÄܼüÈÔÈ»¿ÉÒÔ±»PalmOS²Ù×÷ϵͳʹÓá£Òò´Ë£¬ÓÉSpotletÅÉÉúÀ´µÄ³ÌÐò¿ÉÒÔ²»ÓÃÉèÖóÌÐòµÄÍ˳ö£¬Ö±½ÓÓÉPalmµÄ°´Å¥Íê³É¡£ 

    ÁíÒ»ÖÖΪWANT_SYSTEM_KEYS¡£Èç¹û×¢²áÁË´ËÀàʼþ£¬PalmµÄ¼¸¸ö¹¦Äܼü²»±»PalmOS²Ù×÷ϵͳʹÓã¬Ö»ÄÜÓɳÌÐò¿ØÖÆÊ¹Óá£Òò´Ë£¬ÓÉSpotletÅÉÉúÀ´µÄ³ÌÐò£¬±ØÐëÉèÖóÌÐòµÄÍ˳öÍ˳ö´úÂ룬È磺

switch ( keyCode ) {
case 264: // Home button was pressed
System.exit(0); // exits program
break;
......... 


    ·ñÔòϵͳÎÞ·¨Í˳ö¡£Ö»ÓÐReset Palm²ÅÄÜʹϵͳÍ˳ö¡£ÏµÍ³Ê¼þÀàÐÍΪʹÓÃϵͳ¼ü£¬¸Ã³ÌÐòÔËÐкó»áÆÁ±Îϵͳ¼üµÄ¹¦ÄÜ£¬ÕâÑù¿ÉÒÔÌá¸ßϵͳÏìÓ¦ËÙ¶È¡£

£¨3£©Óû§½çÃæµÄ¹¹Ôì 

    ΪÁËÑÝʾPalmºìÍâÏßµÄͨÐŹ¦ÄÜ£¬ÎÒÃÇÔÚ´ËÖ»¹¹Ôì3¸ö°´Å¥¡¢1¸ötextFieldºÍ1¸ötextBox£¨Èçͼ3£©¡£

....
static Graphics g = Graphics.getGraphics();
//ÕâÀï¹¹ÔìÓû§½çÃæ£¨Èçͼ1£©
Button button5 = new Button(¡°Exit¡±,117,139);
Button button4 = new Button(¡°Clear¡±,69,139);
Button button3 = new Button(¡°Send¡±,20,139);
TextField textField2 = new TextField(¡°Please Data Here¡±,13,96,139,33);
TextBox textBox1 = new TextBox(¡°This is the message that this\n System
Received!\n\n¡±,15,8,137,73);
//¹¹Ôì·½·¨¡£
public BeamDemo() {
button5.setEnabled(true);
button4.setEnabled(true);
button3.setEnabled(true);
textField2.setUpperCase(false);
textField2.setText(¡°¡±);
paint();
}


£¨4£©ÎªÁ˼àÌýϵͳºìÍâÏ߿ڣ¬±ØÐëÖØÔØSpotletµÄbeamReceiveʼþ£¬Palm¼àÌýµÄÊý¾ÝÊÇԭʼµÄ×Ö½Ú£¬Èç¹ûÓÉÊý¾Ýµ½À´£¬¾Í½«Êý¾Ý¶ÁÈë×Ö½ÚÊý×édata[]ÖУ¬½«data[]¹¹Ôì³ö×Ö·û´®£¬Ð´ÈëtextBox1£¬´úÂëÈçÏ£º

public void beamReceive(byte[] data) {
String receivedString=new String(data);
textBox1.setText(String.valueOf(receivedString));
}

public void dialogDismissed(String title) {
......
}
public void keyDown(int keyCode) {
if (textField2.hasFocus()) {
textField2.handleKeyDown(keyCode);
}
public void penDown(int x, int y) {
if (button5.pressed(x,y)) {
System.exit(0);
}
if (button4.pressed(x,y)) {
textBox1.setText(¡°¡±);
}
...


£¨5£©ÉèÖþ­¹ýºìÍâ¿Ú£¬·¢Ë͵ÄÄÚÈÝ¡£ÔÚBeamDemo³ÌÐòÖУ¬Ê¹ÓÃtextField2µÄÄÚÈÝ×÷ΪҪ·¢Ë͵ÄÊý¾Ý¡£ÓÉÓÚ¸ÃÊý¾ÝÊÇ×Ö·û´®£¬ËùÒÔ¿ÉÒÔÖ±½Ó½«×Ö·û´®×ª»»Îª×Ö½ÚÊý×飬ͨ¹ýbeamSend·½·¨ÒÔ×Ö½ÚµÄÐÎʽ¾­¹ýPalmºìÍâ¿Ú·¢Ëͳö¡£

String text = textField2.getText();
boolean suceeded = beamSend(String.valueOf(text).getBytes());
if (textField2.pressed(x,y)) {
}
public void penMove(int x, int y) {
if (textField2.pressed(x,y)) {
}
public void penUp(int x, int y) {
}
}




×ܽá 


    ×ÜÌåÀ´½²£¬Palm J2MEºìÍâ³ÌÐòµÄ±àд²¢²»¸´ÔÓ£¬µ«Òª×¢ÒâÊý¾ÝµÄ·¢ËÍÊÇͨ¹ýSpotletµÄ¾²Ì¬·½·¨static booolean beamSend(byte[])ʵÏֵ쬶øÊý¾ÝµÄ»ñµÃ±ØÐëÖØÔØbeamReceive(byte[]) ·½·¨£¬À´ÌáÈ¡½ÓÊÕµÄÊý¾Ý¡£ÁíÍ⣬ҪעÒâPalmµÄÄ£ÄâÆ÷POSEµ½Ä¿Ç°ÎªÖ¹²¢²»Ö§³ÖºìÍâÏßͨÐŵÄÄ£Ä⣬¸Ã³ÌÐòµÄµ÷ÊÔ±ØÐëÔÚÁ½Ì¨ÕæÊµµÄPalmÉϽøÐС£ 

    ÔÚÈÕ³£Éú»îÖУ¬Ðí¶àºìÍâÏßÒ£¿ØÆ÷¶¼·¢ËͺìÍâÏßÖ¸Áî¸ø±»¿ØÖƵçÆ÷¡£¿ÉÒÔÀûÓÃÉÏÊö³ÌÐò£¬½«ºìÍâÏßÒ£¿ØÆ÷¶Ô×¼PalmµÄºìÍâ¿Ú£¬ÓÉPalm²¶»ñºìÍâÏßÒ£¿ØÆ÷·¢³öµÄ×Ö½Ú£¬²¢´æ·ÅÓÚPalmµÄÄÚ²¿Êý¾Ý¿âÖУ¬È»ºóÀûÓÃstatic booolean beamSend(byte[])·¢Ë͸ø±»¿ØÖƵçÆ÷£¬¾Í»á¾ªÏ²µØ·¢ÏÖ£¬PalmÍêÈ«¿ÉÒÔÌæ´úºìÍâÏßÒ£¿ØÆ÷¡£


TAG:

 

ÆÀ·Ö£º0

ÎÒÀ´ËµÁ½¾ä

ÏÔʾȫ²¿

:loveliness: :handshake :victory: :funk: :time: :kiss: :call: :hug: :lol :'( :Q :L ;P :$ :P :o :@ :D :( :)

Open Toolbar