|
|
Óû§Ãû£ºgophinight ±ÊÃû£ºµ¶½£Ð¥ µØÇø£º ±±¾©-±±¾© ÐÐÒµ£ºÆäËû |
| ÈÕ | Ò» | ¶þ | Èý | ËÄ | Îå | Áù |
³ÌÐòÔ±Ò»¸öµ×²ãµÄȺÌ壬ÓÐÈ˰ѳÌÐòÔ±¸ú¼ËÅ®Ïà±È£¬°ÑÎÒÃǵŤ×÷±È×÷ÊÇÂôÉí£¬³ÏÈ»£¬ÓÐÒ»¶¨µÄµÀÀí¡£Îҵķ£¬´ÓÒ»ÐÐÐдúÂëÖÐ×ß¹ýÀ´£¬´ÓÒ»¸ö¸öBugÖÐ×ß¹ýÀ´£¬´ÓÒ»ÌìÌì½ø²½ÖÐ×ß¹ýÀ´¡£»ØÊ×ÍûÈ¥£¬ÂúÄ¿²×È»¡£ ½ñÌìµÄÎÒ£¬Ëã³É¹¦£¬»¹ÊÇʧ°Ü£¬ËãÓÅÐ㣬»¹ÊÇÆ½Ó¹£¬ÎÒÏ룬×÷Ϊһ¸ö³ÌÐòÔ±£¬ÎÒÊÇÆ½Ó¹µÄ£¬µ«×÷Ϊһ¸öÅóÓÑ£¬ÎÒÊÇÓÅÐãµÄ¡£ ÒÔÎÒΪÓÑÕߣ¬ÎÒ»¶Ó£¬±ÉÊÓÎÒÕߣ¬ÎÒÒà»¶Ó£¬Ö§³ÖʹÎÒ½ø²½£¬±ÉÊÓʹÎÒ×ÔÊ¡¡£ ÎÒ×ÔÊÇÄÇÇï·çÖÐÒ»°Ñ»ÎÓÆ»ÎÓÆµÄµ¶£¬»®¿ªºñºñµÄÄàÍÁ¡£ ÓÐÔ¸ÒâºÍÎÒ½»Á÷µÄÅóÓÑ¿ÉÒÔ¸øÎÒ·¢Mail£ºgophinight@163.com
»¶ÓJ2meµÄ°®ºÃÕß¹²Í¬Ñо¿¼¼ÊõÎÊÌâ
¡¡£¨×÷ÕßÖö¥£©
- ×÷Õߣº µ¶½£Ð¥ 2006Äê07ÔÂ19ÈÕ, ÐÇÆÚÈý 17:14¡¡ »Ø¸´£¨2£© |¡¡ ÒýÓã¨0£© ¼ÓÈ벩²É
J2ME¿ª·¢ÈëÃÅ
¡¡£¨×÷ÕßÖö¥£©
- ×÷Õߣº gophinight 2005Äê03ÔÂ21ÈÕ, ÐÇÆÚÒ» 17:01¡¡ »Ø¸´£¨16£© |¡¡ ÒýÓã¨0£© ¼ÓÈ벩²É
ÈçºÎÓÃWTK£«UltraEditorµÄ¿ª·¢»·¾³À´½øÐбà³Ì£¨ÐÂÊÖÇë¿´£©
¡¡£¨×÷ÕßÖö¥£©
Ŀǰ×öJ2ME¿ª·¢µÄ»·¾³ºÜ¶à£¬³£ÓõÄÒ»°ãÊÇJB£¬Eclipse£¬UltraEditor+WTK£¬Õâ¸öËæ¸öÈËϲºÃ£¬ÎÒ¸öÈËÓõÄÊÇ×îºóÒ»ÖÖ»·¾³£¬ËùÒÔдƪСÎÄÀ´½éÉÜÒ»ÏÂÈçºÎÓÃÕâ¸ö¿ª·¢»·¾³À´½øÐгÌÐò¿ª·¢¡£
¼òµ¥µØËµ£¬WTKÊÇÒ»¸ö±àÒëºÍµ÷ÊԵŤ¾ß£¬¿ÉÒÔ¼ÓÔØºÜ¶àÄ£ÄâÆ÷×÷ΪģÄâÔËÐеĻ·¾³£¬¶øUltraEditorÊÇÒ»¸ö±È½ÏÓÅÐãµÄ±à¼Æ÷£¬ÔÚ³ÌÐòµÄ¸ñʽÅÅ°æ·½Ãæ×÷µÃ±È½ÏºÃ¡£ÏÂÃæÎÒÃǾÍÓÃÕâ¸ö»·¾³À´×ö´ó¼Ò¶úÊìÄÜÏêµÄHelloWolrdµÄÀý×Ó¡£
Ê×ÏÈ£¬´ò¿ªWTK£¬È»ºóÑ¡Ôñн¨¹¤³Ì£¬Í¬JB£¬EclipseÒ»Ñù£¬WTKÒ²ÊÇÒÔ¹¤³Ì×÷Ϊ¹ÜÀíµÄ»ù±¾µ¥Î»£¬Ò»¸öÍêÕûµÄ³ÌÐò¾ÍÊÇÒ»¸ö¹¤³Ì¡£ÔÚн¨¹¤³ÌÀïÓÐÁ½¸ö¶«¶«ÐèÒªÌîд£¬µÚÒ»Êǹ¤³ÌÃû£¬Õâ¸ö¿ÉÒÔÂÒÌÏëдʲô¶¼ÐУ¬ºÇºÇ£¬µÚ¶þÊÇÄãµÄ¹¤³ÌµÄÖ÷ÀàÃû£¬Õâ¸öҪעÒ⣬Ä㽫Ҫн¨µÄÖ÷ÀàÎļþ±ØÐëÓëÕâ¸öÖ÷ÀàÃûÏàͬ£¬ÌîÍêÕâÁ½¸ö¶«¶«£¬È·¶¨¾ÍOKÁË¡£
½ÓÏÂÀ´£¬ÈÃÎÒÃÇ´ò¿ªWTKĿ¼ÏµÄAppsÎļþ¼Ð£¬Äã¾Í»á·¢ÏÖÀïÃæ¶àÁËÒ»¸öÄã¸Õ²Å½¨µÄ¹¤³ÌĿ¼£¬´ò¿ªÕâ¸öĿ¼£¬ÏÂÃæÓÐÕâÑù¼¸¸öÎļþ¼Ð£¬bin,classes,src,res,ÔÚbinĿ¼ÀﻹÓÐÁ½¸öÎļþ£¬Ò»¸öJad£¬Ò»¸öMF£¬²»¹ýÄã´ó¿É²»È¥¹ÜËû£¬ºÇºÇ£¬¶øÆäËûÎļþ¼Ð¶¼Êǿյġ£ºÃÀ²£¬ÏÖÔÚ¸ÃÊÇд´úÂëµÄʱºòÁË¡£ÔÚд´úÂë֮ǰ£¬Òª½»´úÒ»ÏÂÕ⼸¸öĿ¼µÄ×÷Óã¬BinÊÇ´æ·ÅÄ㽫À´´ò°üµÄ³ÌÐò°üµÄµØ·½£¬Classes×ÔÈ»²»ÓÃ˵£¬ÊǷűàÒëºÃµÄÀàÎļþµÄµØ·½£¬SRCÊÇ´æ·ÅÔ´ÎļþµÄµØ·½£¬¶øRES£¬ÔòÊÇ´æ·Å×ÊÔ´Îļþ±ÈÈçͼƬѽÎı¾Ñ½Ê²Ã´µÄµØ·½¡£
´ò¿ªUltraEditor£¬Ð½¨Ò»¸öÎļþ£¬È»ºóÖ±½ÓÏȱ£´æ£¬Â·¾¶Â×ÔÈ»ÊǸղŵÄSRCÎļþ¼Ð£¬ÎļþÃûÄØ£¬Ç°ÃæÒѾ˵¹ýÁË£¬ÊÇÄ㽨µÄÖ÷ÀàÃû£¬ÔÚÕâÀÓбØÒª½âÊÍÒ»ÏÂʲôÊÇÖ÷Àà¡£ÔÚJ2MEµÄ³ÌÐòÀÓÐÇÒÖ»ÓÐÒ»¸öÖ÷À࣬Õâ¸öÖ÷ÀàÊÇÒ»¸ö¼Ì³ÐÓÚMIDletµÄÀ࣬ËûÊÇÕû¸ö³ÌÐòµÄÔËÐÐÈë¿Ú£¬³ÌÐòµÄÖ÷Ï߳̾ÍÊÇÓÉÕâ¸öÖ÷À࿪ʼµÄ¡£Ò»°ãÀ´Ëµ£¬Ò»¸öÓÎÏ·ÊÇÓÉÒ»¸öÖ÷À࣬Èô¸É»òÒ»¸öCanvasÀࣨ»²¼£©£¬Èô¸É¸ö×Ô½¨µÄÀ࣬һ¸öRMSÀàÒÔ¼°Ò»¶Ñ¼ÆÊ±Æ÷ÀࣨÈç¹ûÓбØÒªµÄ»°£©¹¹³ÉµÄ£¬àÅ£¬Ïл°ÔÝÇÒ²»Ìᣬ½¨ºÃÕâ¸öÖ÷ÀàÎļþºó£¬¸ÉÊ²Ã´ÄØ£¬ºÇºÇ£¬×ÔÈ»ÊÇдÎÒÃǵĴúÂëÁË¡£HelloWorldµÄ´úÂëÏë±Ø´ó¼ÒËæ±ã´Óij¸ö½ÇÂä¶¼¿ÉÒÔ˳Êּ𵽣¬ÕâÀï¾ÍÌùÒ»¶Î¡£
import javax.microedition.midlet.*;
public class HelloWorld extends MIDlet
{
public HelloWorld()
{
}
public void startApp()
{
System.out.println("HelloWorld");
}
public void pauseApp()
{
}
public void destroyApp(boolean unditional)
{
}
}
дÍêÖ®ºó±£´æ£¬È»ºóÇл»µ½WTK£¬Ñ¡ÔñBuild£¨²»Òª¸æËßÎÒÄãûÓп´µ½Ó´£©£¬È»ºóWTK»á¿ªÊ¼±àÒë³ÌÐò£¬Èç¹ûÄãÓÐʲôÓï·¨ÉϵĴíÎó£¬Ëû¾Í»áÔÚ¿ØÖÆÌ¨ÖÐÌáʾÄ㣬×ÔÈ»À²£¬Õâ¸ö³ÌÐòÊÇûÓдíµÄ£¬ÓÚÊÇ»á¸æËßÄãBuild¡¡Successfull£¡£¬½ÓÏÂÀ´£¬Ñ¡ÔñRunÀ´ÔËÐÐÄãµÄ³ÌÐò£¬ÓÚÊÇ£¬Ò»¸öÊÖ»úÄ£ÄâÆ÷Ãæ°å³öÏÖÀ²^_^£¬ÉÏÃæ»áÏÔʾÄãµÄ³ÌÐòÃû£¬»¹ÓÐÒ»¸ölaunch°´Å¥£¬àÅ£¬µã»÷½øÈ¥£¬ºÃ£¬Äã¾Í»á·¢ÏÖ¿ØÖÆÌ¨ÉÏ´ò³öÁËÎÒÃǵÄHelloWorldÀ²¡£
½ÓÏÂÀ´Äã¿ÉÒÔÓÃWTKÀ´Îª³ÌÐò´ò°ü£¬Ñ¡Ôñproject->package->create package£¬ºÃÀ²£¬WTK¾Í¿ªÊ¼¸øÎÒÃǵijÌÐò´ò°üÁË£¬ÕâÖÖ·½Ê½´òµÄ°üÊÇûÓлìÏý¹ýµÄ°ü£¬ÖÁÓÚ»ìÏýÓë·Ç»ìÏýµÄÇø±ð£¬ÎÒÃÇÔÚÕâÀï¾Í²»Ï¸ËµÀ²¡£´òÍê°üºó£¬¸Ï½ôÈ¥ÄãµÄĿ¼Àï¿´¿´°É£¬ÔÚBinĿ¼Ï¾ͳöÏÖÒ»¸öJarÎļþÀ²¡£Õâ¸öÎļþ¾Í¿ÉÒÔ×°µ½ÊÖ»úÀïÈ¥ÍæÀ²^*^(&(&)(&)*()£¨µ±È»Ç°ÌáÊÇÄã×öÁËÒ»¸öÓÎÏ·£¬HelloWorldô£¬ÃâÁ˰ɣ¬¹þ¹þ£©
ÔõôÑù£¬¼òµ¥°É¡£WTKÀﻹÓв»ÉÙ¿ÉÉèÖõĶ«Î÷£¬ÎÒÃÇ×î³£Óõ½µÄÊÇÕâÑùÈý¸ö¶«¶«£¬ÔÚWTKÖÐÑ¡ÔñSetting£¬È»ºóתµ½×îºóÒ»¸öÑ¡Ï£¬Äã»á·¢ÏÖÓÐÈý¸öÄÚÈÝ¿ÉÒԱ༣¬ÕâÈý¸öÄÚÈÝÒÀ´ÎÊdzÌÐòÃû£¬IconºÍClass£¬³ÌÐòÃû¿ÉÒÔ²»¹Ü£¬IconÂ×ÔÈ»ÊÇͼ±êÀ²£¬ÎÒÃÇ×öºÃµÄÓÎÏ·£¬×°µ½ÊÖ»úÉϺó¶¼Ï£ÍûÓÐÒ»¸öºÃ¿´µÄͼ±êÀ´±êʶÂÔõô°ìÄØ£¬ÕÒÒ»ÕÅͼƬ£¬£´£°ÉϵľÍÓã±£¶¡Á£±£¶µÄ¾ÍÐÐÀ²£¬È»ºóÈ¡ÃûΪIcon£¨Í¼Æ¬±ØÐëÊÇPng¸ñʽµÄ£©.png£¬µ±È»Ãû×Ö¿ÉÒÔËæÒâÈ¡À²£¬È»ºó°ÑÕâ¸öͼƬ·Åµ½RESĿ¼Ï£¬ÕâÑùÄãµÄ³ÌÐò×°µ½ÊÖ»úÉϺó¾ÍÓÐͼ±êÀ²¡£ÖÁÓÚµÚÈý¸öÄÚÈÝ£¬Class£¬Õâ¸öºÜÖØÒª£¬Ëû±êʶµÄÊÇÄãµÄÖ÷ÀàµÄ·¾¶£¬ÓкܶàÅóÓѰÑ×Ô¼ºµÄ³ÌÐò´ÓJBÏÂ×ªÒÆµ½WTKϱàÒë»á³ö´í£¬»áÌáʾClassNotFoundExceptionÒì³££¬¾ÍÊÇÕâ¸ö·¾¶ÈǵĻöÀ²¡£JBÏÂÒ»°ã¶¼ÊÇ×Ô¶¯¸øÄãµÄ³ÌÐò¼ÓÉÏPackageµÄ£¬±ÈÈçͬÑùÊÇHelloWorldÕâ¸ö³ÌÐò£¬¿ÉÄÜÔÚJBϾÍÊÇ×÷Ϊһ¸ö°ü£¨±ÈÈç½ÐHello£©ÏµĴúÂë´æÔÚ£¬ÄÇô£¬ÄãÔÚClassÕâÀï¾ÍÓ¦¸ÃÌîÉÏ/Hello/HelloWorld£¬ÕâÑùÐ޸Ĺýºó£¬ÔÙ±àÒ룬¾Í²»»áÔÙ³ö´íÀ²¡£^_^
ºÃÀ²£¬¾ÍдÕâô¶à£¬Ï£Íû¸ø´ó¼ÒһЩÌáʾºÍ°ïÖú¡£
- ×÷Õߣº gophinight 2004Äê12ÔÂ21ÈÕ, ÐÇÆÚ¶þ 03:18¡¡ »Ø¸´£¨1£© |¡¡ ÒýÓã¨0£© ¼ÓÈ벩²É
µÍ¼¶½çÃæÖÐʵÏÖÊäÈë·¨
ºÇºÇ£¬ÔÚÓÎÏ·»òÕßÓ¦Óÿª·¢ÖУ¬Ôڸ߼¶½çÃæºÍµÍ¼¶½çÃæÖ®¼äµÄÇл»×ÜÊÇÒ»¼þÈÃÈËÍ·ÌÛµÄÊÂÇ飬¸ß¼¶½çÃæ·½±ã£¬µ«ÊÇÄÑ¿´£¬µÍ¼¶½çÃæÃÀ¹Û£¬µ«ÊÇÒ»Ö±ÒÔÀ´ÒòΪÔÚÊäÈë·¨ÉÏ´æÔÚÀ§ÄÑ£¨Ö÷ÒªÊÇÖ¸ÖÐÎÄ£©£¬ËùÒԺܶà²úÆ·¶¼ÊÇʹÓÃÁËÁ½ÖÖ½çÃæ²¢´æµÄ·½Ê½£¬µ«ÎÒÒ»Ö±Ïë·ÅÆú¸ß¼¶½çÃæ£¬²ÉÓõͼ¶½çÃæÀ´±£³Ö²úÆ·½çÃæ·ç¸ñµÄͳһ£¬¾¹ýNÌìµÄŬÁ¦£¬ÖÕÓÚÕû³ÉÁËÒ»ÌױȽϺÃÓõÄÊäÈë·¨£¬´Ó´Ë¿ÉÒÔ¸æ±ð¸ß¼¶½çÃæÁË£¬^_^
ÏȽ²½²Õâ¸öÊäÈë·¨µÄÔÀí£¬Ê×ÏȳÌÐò»á´Ó×Ö¿âÎļþÖн«Æ´ÒôºÍÏàÓ¦µÄÎÄ×Ö¶Á½øÄڴ棬ÆäÖÐÆ´Òô»á·ÅÔÚÒ»¸öÊý×éÀÓÃÀ´²éÕÒ£¬È»ºó×Ö¿âÀïµÄ×Ö»áÒÔÆ´ÒôΪKey´æÈëÒ»¸ö¹þÏ£±í£¬²éÕÒµÄʱºò£¬Ê×Ïȸù¾Ý°´¼üÉϵÄ×Öĸ×éºÏÔÚÆ´Òô±íÀï²éÕÒÊÇ·ñÓÐÊÊÅäµÄÆ´Òô£¬Èç¹ûÓÐÍêÕûÊÊÅäµÄÆ´ÒôÔòÖ±½Ó´Ó¹þÏ£±í´ÓÈ¡³öÏàÓ¦µÄÎÄ×ÖÒÔ¹©Ñ¡Ôñ£¬ÏÂÃæ¾Í¸ø³öÏàÓ¦µÄ´úÂë
public class InputMethod implements Const
{
Hashtable hashtable=new Hashtable();
String[] wordKey;
int[] inputKey=new int[10];
int currentPos;
String[] currentInputPad;//µ±Ç°µÄÊäÈëÏÔʾ°å
public Vector keyAvailable=new Vector(0,1);
Vector wordsBuffer;//ÉÏÒ»¼¶µÄ¶ÁÒôµÄ»º´æ
int select,charSelect;
int screenW,screenH;
int num_row;//ÿÐеÄ×Ö”µ
int charPage;//í“”µ
public String inputChar;//Ý”ÈëµÄ×Ö·û
int inputMode;//ÊäÈëÀàÐÍ¡¡£°×Öĸ¡¡£±Êý×Ö¡¡£²Æ´Òô
String[] inputModeTxt={"abc","123","Æ´Òô"};
public String content[]={"","",""};//ÊäÈëµÄÄÚÈÝ£¬µÚһάÊÇʵ¼ÊÄÚÈÝ£¬µÚ¶þάºÍµÚÈýάÊÇÓÃÓÚÓйâ±ê¶¨Î»ÏÔʾµÄÄÚÈÝ
public int charPos;//¹â±êλÖÃ
long time1,time2;//°´¼üµÄʱ¼ä
int charKeyPos;//×ÖĸµÄÇл»
String[][] charKey=new String[][]{
{"a","b","c"},
{"d","e","f"},
{"g","h","i"},
{"j","k","l"},
{"m","n","o"},
{"p","q","r","s"},
{"t","u","v"},
{"w","x","y","z"}
};
public InputMethod(int w,int h)
{
screenW=w;
screenH=h;
num_row=(w-10)/20;
charPage=0;
cls();
readWords();
}
/*Çå¿Õ»º´æ*/
public void cls()
{
currentPos=0;
wordsBuffer=new Vector(0,1);
for(int i=0;i<inputKey.length;i++)
inputKey[i]=-1;
}
/*Çå¿ÕÊäÈëÄÚÈÝ*/
public void clsContent()
{
content=new String[]{"","",""};
charPos=0;
charSelect=0;
}
public void doUp()
{
if(select>0)
select--;
currentInputPad=null;
}
public void doDown()
{
if(select<keyAvailable.size()-1)
select++;
currentInputPad=null;
}
public void drawInput(Graphics g)
{
try
{
int starty;
if(inputMode==2)
{
if(keyAvailable!=null&&keyAvailable.size()>0)
{
starty=240-keyAvailable.size()*20;
if(keyAvailable.size()>0)
PaintCanvas.drawBox(g, 0, starty, 50,keyAvailable.size()*20, 0xffff00);
g.setColor(0);
for(int i=0;i<keyAvailable.size();i++)
{
if(i==select)
g.setColor(0x00ff00);
else
g.setColor(0x0000ff);
g.fillRect(0,starty+i*18,50,18);
g.setColor(-1);
String key=(String)keyAvailable.elementAt(i);
g.drawString(key,10,starty+i*18,0);
if(i==select)
{
/*²éÕÒÏàÓ¦µÄÆ´Òô*/
for(int m=0;m<wordKey.length;m++)
{
/*Èç¹ûÍêÈ«ÊÊÅ䣬¾Í´Ó¹þÏ£±íÀïÈ¡³öÏàÓ¦µÄ×Ö*/
if(key.equals(wordKey[m]))
{
currentInputPad=(String[])hashtable.get(key);
break;
}
}
}
}
}
if(currentInputPad!=null)
{
starty=screenH-65;
drawTextBox(g,0xefefef,0x121212,0x2d3f4d,2,starty,screenW-4,25,2,0);
g.setColor(0xffff00);
for(int i=charPage*num_row;i<(charPage+1)*num_row;i++)
{
System.out.println(i+"."+charPage+"."+num_row+"."+charSelect);
if(i>currentInputPad.length-1)
return;
if(i==charSelect)
{
g.setColor(-1);
g.drawRect(3+(i-charPage*num_row)*20,starty+1,16,20);
}
g.setColor(0xffff00);
g.drawString(currentInputPad[i],5+(i-charPage*num_row)*20,starty+2,0);
}
}
}
PaintCanvas.drawStringShadow(g,-1,0,0,inputModeTxt[inputMode],w,0,24);
}
catch(Exception e)
{
System.out.println("Ý”Èë·¨³öåe"+e.toString());
}
}
public void drawTextBox(Graphics g,int color1,int color2,int color3,int stx,int sty,int bw,int bh,int boardW,int type)
{
if(type==0)
{
g.setColor(color1);
g.fillRect(stx-boardW,sty-boardW,bw+2*boardW,bh+2*boardW);
g.setColor(color2);
g.fillRect(stx,sty,bw+boardW,bh+boardW);
g.setColor(color3);
g.fillRect(stx,sty,bw,bh);
}
else
{
g.setColor(color2);
g.fillRect(stx-boardW,sty-boardW,bw+2*boardW,bh+2*boardW);
g.setColor(color1);
g.fillRect(stx,sty,bw+boardW,bh+boardW);
g.setColor(color3);
g.fillRect(stx,sty,bw,bh);
}
}
public void keyPressed(int i)
{
time2=System.currentTimeMillis();
if(i==MIDKEY)
{
if(inputMode==2)
{
if((inputChar=getChar())!=null)
{
cls();
keyAvailable.removeAllElements();
currentInputPad=null;
}
}
}
if(i==SOFTRIGHTKEY)
{
backWord();
// cls();
// keyAvailable=new Vector(0,1);
// currentInputPad=null;
}
if(i>=48&&i<58)
{
if(inputMode==2&&i>=50)
{
if(checkWord(i-50))
{
inputKey[currentPos++]=i-50;
currentInputPad=null;
}
select=0;
}
else if(inputMode==1)
inputChar=""+(i-48);
else if(inputMode==0)
{
if(i>=50)
{
// System.out.println("°´¼üʱ¼ä"+time2+"."+time1);
if((time2-time1)<500)
{
// System.out.println("Á¬Ðø°´¼ü");
charKeyPos++;
if(charKeyPos==charKey[i-50].length)
charKeyPos=0;
// System.out.println("ÄÚÈݳ¤¶È"+content[0].length()+"¹â±êλÖÃ"+charPos);
if(charPos==content[0].length())
{
System.out.println("1");
content[0]=content[0].substring(0,charPos-1);
charPos--;
System.out.println("2");
}
else
content[0]=content[0].substring(0,charPos-1)+content[0].substring(charPos,content[0].length());
refreshContent();
}
inputChar=charKey[i-50][charKeyPos];
}
}
}
if(i==UPKEY)
doUp();
if(i==DOWNKEY)
doDown();
if(i==LEFTKEY)
{
if(charSelect>0)
charSelect--;
if(charSelect%num_row==num_row-1)
charPage--;
}
if(i==RIGHTKEY)
{
if(charSelect<currentInputPad.length-1)
charSelect++;
if(charSelect%num_row==0&&charSelect!=0)
charPage++;
}
/*Çл»ÊäÈë·¨*/
if(i==POUNDKEY)
{
inputMode++;
if(inputMode==inputModeTxt.length)
inputMode=0;
}
/*ɾ³ý*/
if(i==CKEY)
{
if(charPos>=2&&PaintCanvas.checkFace(content[0].substring(charPos-2,charPos))>-1)
{
content[0]=content[0].substring(0, charPos-2)+content[0].substring(charPos,content[0].length());
charPos-=2;
}
else if(charPos>0)
{
if(charPos==content[0].length())
content[0]=content[0].substring(0,charPos-1);
else
content[0]=content[0].substring(0, charPos-1)+content[0].substring(charPos,content[0].length());
charPos--;
}
refreshContent();
}
time1=time2;
}
/*»ØÍË*/
public void backWord()
{
if(wordsBuffer.size()>0)
{
keyAvailable=(Vector)wordsBuffer.elementAt(wordsBuffer.size()-1);
wordsBuffer.removeElementAt(wordsBuffer.size()-1);
currentInputPad=null;
}
}
public void checkWords(Vector temp,String key,int ik)
{
int p;
for(p=0;p<charKey[ik].length;p++)
{
int m;
for(m=0;m<wordKey.length;m++)
{
if(wordKey[m].indexOf(key+charKey[ik][p])==0)
{
temp.addElement(new String(key+charKey[ik][p]));
break;
}
}
}
}
/*¼ì²éÊÇ·ñÓкÏÊÊµÄÆ´Òô*/
public boolean checkWord(int ik)
{
Vector temp=new Vector(0,1);
String key="";
if(keyAvailable.size()>0)
{
for(int i=0;i<keyAvailable.size();i++)
{
key=(String)keyAvailable.elementAt(i);
checkWords(temp,key,ik);
}
}
else
checkWords(temp,key,ik);
if(temp.size()>0)
{
wordsBuffer.addElement(keyAvailable);
keyAvailable=temp;
return true;
}
return false;
}
/*´Ó×Ö¿âÀï¶ÁÈ¡Îļþ*/
public void readWords()
{
try
{
InputStream is;
String[] words;
int fontNum=0;
is=getClass().getResourceAsStream("/input/chars.txt");
StringBuffer sb=new StringBuffer();
int c;
int pos=0;
while((c=is.read())!=-1)
{
// System.out.println(c);
if(c=='\n')
{
if(pos==0&&fontNum==0)
{
fontNum=Integer.parseInt(sb.toString());
wordKey=new String[fontNum];
// System.out.println("Æ´Òô±í³¤¶È:"+wordKey.length);
}
else
{
String key;
byte[] data1=new byte[sb.toString().length()];
for(int i=0;i<data1.length;i++)
data1[i]=(byte)sb.charAt(i);
String s=new String(data1,"UTF-8");
key=s.substring(0, s.indexOf("*")).toLowerCase();
// System.out.println(key);
words=new String[s.length()-s.indexOf("*")-1];
for(int j=0;j<words.length;j++)
{
words[j]=s.substring(s.indexOf("*")+1+j,s.indexOf("*")+2+j);
}
hashtable.put(key, words);
wordKey[pos++]=key;
}
sb=new StringBuffer();
}
else if(c!=0x0d)
{
sb.append((char)c);
}
}
String key;
byte[] data1=new byte[sb.toString().length()];
for(int i=0;i<data1.length;i++)
data1[i]=(byte)sb.charAt(i);
String s=new String(data1,"UTF-8");
key=s.substring(0, s.indexOf("*"));
words=new String[s.length()-s.indexOf("*")-1];
for(int j=0;j<words.length;j++)
{
words[j]=s.substring(s.indexOf("*")+1+j,s.indexOf("*")+2+j);
}
hashtable.put(key, words);
wordKey[pos++]=key;
}
catch(Exception e)
{
System.out.println("¶ÁÈ¡×Ö¿â³ö´í"+e.toString());
}
}
public String getChar()
{
if(currentInputPad!=null)
return currentInputPad[charSelect];
else
return null;
}
public void setInputMode(int type)
{
inputMode=type;
}
public int getInputMode()
{
return inputMode;
}
public void refreshContent()
{
if(content[0].length()>0)
{
if(charPos==0)
{
content[1]=" "+content[0];
content[2]="|"+content[0];
}
else if(charPos==content[0].length())
{
content[1]=content[0]+" ";
content[2]=content[0]+"|";
}
else
{
content[1]=content[0].substring(0,charPos)+" "+content[0].substring(charPos,content[0].length());
content[2]=content[0].substring(0,charPos)+"|"+content[0].substring(charPos,content[0].length());
}
}
System.out.println(content[0]);
System.out.println(content[1]);
System.out.println(content[2]);
}
/*ÒÆ¶¯¹â±ê*/
public void moveCharPos(int direct)
{
if(direct==0)
{
if(charPos>2)
{
System.out.println(content[0].substring(charPos-2,charPos));
if(PaintCanvas.checkFace(content[0].substring(charPos-2,charPos))>-1)
charPos-=2;
else
charPos--;
}
else if(charPos>0)
charPos--;
}
else
{
if(charPos<content[0].length()-2)
{
if(PaintCanvas.checkFace(content[0].substring(charPos+1,charPos+3))>-1)
charPos+=2;
else
charPos++;
}
else if(charPos<content[0].length())
charPos++;
}
refreshContent();
}
}
Õâ¸ö´úÂëʵÏÖÁËÓ㣺żüÇл»Ó¢ÎÄ£¬Êý×Ö£¬Æ´ÒôÖ®¼äµÄÊäÈë·¨Çл»£¨²»ºÃÒâ˼£¬ÔÝʱûÓмÓÈë±êµãÊäÈ룩£¬È»ºóÔÚ×Ô¼ºµÄCanvas½çÃæÖÐͨ¹ýÈçϰ´¼ü¿ØÖÆ
/*ÊäÈë·¨µÄ°´¼ü*/
public void keyPressedInput(int i)
{
if(!chooseFace&&down&&imt.keyAvailable.size()==0)
{
chooseFace=true;
faceNo=7;
}
else if(!chooseFace&&left&&imt.keyAvailable.size()==0)
{
imt.moveCharPos(0);
}
else if(!chooseFace&&right&&imt.keyAvailable.size()==0)
{
imt.moveCharPos(1);
}
else if(chooseFace)
{
if(left)
{
if(faceNo==0)
faceNo=face.rows*face.columns-1;
else
faceNo--;
}
else if(right)
{
if(faceNo==face.rows*face.columns-1)
faceNo=0;
else
faceNo++;
}
else if(up)
chooseFace=false;
else if(fire||softLeft)
{
imt.content[0]+=faceSign[faceNo];
imt.charPos+=2;
imt.refreshContent();
}
}
else if(softRight)
{
if(imt.keyAvailable==null||imt.keyAvailable.size()==0)
{
drawMessage=-1;
imt.clsContent();
}
else
imt.keyPressed(-7);
}
else if(softLeft)
{
if(imt.keyAvailable.size()==0)
{
if(imt.content[0]!=null&&imt.content[0].length()>0)
{
sendMessage(drawMessage);
}
else
setNotice("¶Ô²»Æð£¬ÄãÊäÈëµÄÐÅϢΪ¿Õ");
drawMessage=-1;
}
}
else
{
imt.keyPressed(i);
if(imt.inputChar!=null)
{
if(imt.content[0]==null||imt.content[0].length()==0)
imt.content[0]=imt.inputChar;
else
imt.content[0]=imt.content[0].substring(0,imt.charPos)+imt.inputChar+imt.content[0].substring(imt.charPos, imt.content[0].length());
imt.inputChar=null;
imt.charPos++;
}
}
imt.refreshContent();
}
ÕâÀïÃæÓÐһЩÎÒ×Ô¼ºµÄ¹¤³ÌÖÐÒªÓõ½µÄÀ࣬´ó¼Ò¿´µÄʱºò×¢ÒâÇø·Öһϣ¬ºÇºÇ£¬±ÈÈçchooseFaceÊÇΪÁËÎÒÃÇÕâ±ßÐèÒª²åÈë±íÇéÍ·ÏñÓõ쬴ó¼Ò¿ÉÒÔ²»Ó㬻æÖƵÄʱºò£¬½»ÌæÏÔʾinputmethodÀïµÄcontent[1]ºÍcontent[2]£¬È·¶¨ÐèÒªÓõ½ÊäÈëÄÚÈݵÄʱºò£¬µ÷ÓÃinputmethodÀïµÄcontent[0]¾ÍÐÐÁË¡£
ÁíÍâ¸øÒ»ÏÂ×Ö¿âÎļþµÄ¸ñʽ
392
A*°¡°¢ëç
Ai*°®°«°¤°¥°°©°¬°¦°§°ª°¯°£°¨´ôæÈêÓÞß
×Ö¿âÎļþÊÇÒ»¸öTXTÎļþ£¬µÚÒ»ÐеÄÊý×Ö±êÃ÷Õâ¸ö×Ö¿âÀïÓжàÉÙÆ´Òô£¬È»ºóÿһÐÐÊÇÆ´ÒôºÍ×ֿ⣬Õâ¸öÎļþ¿ÉÒÔ×Ô¼ºËæÒⶨÒå¡£
OK£¬¾Í˵Õâô¶à°É£¬´ó¼ÒÓп´²»Ã÷°×µÄµØ·½£¬¿ÉÒÔÕÒÎÒ½»Á÷һϣ¬Ð»Ð»¡£
- ×÷Õߣº µ¶½£Ð¥ 2007Äê05ÔÂ16ÈÕ, ÐÇÆÚÈý 14:25¡¡ »Ø¸´£¨4£© |¡¡ ÒýÓã¨0£© ¼ÓÈ벩²É
³£ÓõÄÅÅÐòËã·¨£¨°üÀ¨Ã°ÅÝÅÅÐò£¬Ñ¡ÔñÅÅÐò£¬²åÈëÅÅÐò£¬Ï£¶ûÅÅÐò£¬¿ìËÙÅÅÐò)
ÅÅÐòËã·¨ÔÚ³ÌÐòÖлáÓõ½ºÜ¶à£¬ÕâÀï½éÉܼ¸ÖÖ³£¼ûµÄÅÅÐò·½·¨ÒÔ¼°±È½Ï
ðÅÝÅÅÐò£º¶ÔÒ»¸ö¶ÓÁÐÀïµÄÊý¾Ý£¬°¤¸ö½øÐÐÂÖѯºÍ½»»»£¬Ã¿´ÎÂÖѯ³öÒ»¸öµ±Ç°×î´ó»òÕß×îСµÄÖµ·ÅÔÚ¶Óβ£¬È»ºó¼ÌÐøÏ´ÎÂÖѯ£¬ÂÖѯ³¤¶È-1£¬¾Í¸úðÅÝÒ»Ñù£¬ËùÒÔ³ÆÎªÃ°ÅÝÅÅÐò£¬ÔËËãʱ¼ä¸´ÔÓ¶ÈNƽ·½
Ñ¡ÔñÅÅÐò£º¶ÔÒ»¸ö¶ÓÁÐÀïµÄÊý¾Ý£¬Ñ¡³öµ±Ç°×î´ó»òÕß×îСµÄÖµ£¬È»ºó½«ËûÓë¶ÓÊ×µÄÊý¾Ý½»»»£¬È»ºó´ÓµÚ¶þ¸ö¿ªÊ¼£¬½øÐÐÏàͬµÄ²Ù×÷£¬ÔËËãʱ¼ä¸´ÔÓ¶ÈNƽ·½£¬µ«ÓÉÓÚËû²»ÏñðÅÝÒ»ÑùÐèÒª²»Í£µÄ½»»»Î»Öã¬ËùÒÔ»á±ÈðÅÝ¿ìһЩ
²åÈëÅÅÐò£º¶ÔÒ»¸ö¶ÓÁÐÀïµÄÊý¾Ý£¬´ÓµÚ¶þ¸ö¿ªÊ¼£¬Óë´ËλÖÃ֮ǰµÄÊý¾Ý½øÐбȽϣ¬Ðγɾֲ¿ÓÐÐòµÄ¶ÓÁУ¬Ñ»·´Ë²Ù×÷£¬Ö±µ½¶Ó⣬ÔËËãʱ¼ä¸´ÔÓ¶ÈÒÀȻΪNƽ·½£¬µ«ËûÓÉÓÚ±£Ö¤Á˾ֲ¿µÄÓÐÐòÐÔ£¬ËùÒԱȽϵĴÎÊý»á¸üÉÙһЩ£¬Ïà¶ÔǰÁ½ÖÖ»á¸ü¿ì
Ï£¶ûÅÅÐò£ºÆäʵ¾ÍÊÇÓò½³¤¿ØÖƵIJåÈëÅÅÐò£¬Ï£¶ûÅÅÐòͨ¹ý¼Ó´ó²åÈëÅÅÐòÖÐÔªËØÖ®¼äµÄ¼ä¸ô£¬²¢ÔÚÕâЩÓмä¸ôµÄÔªËØÖнøÐвåÈëÅÅÐò£¬´Ó¶øÈÃÊý¾ÝÏî¿ÉÒÔ´ó·ù¶ÈÒÆ¶¯£¬ÕâÑùµÄ·½Ê½¿ÉÒÔʹÿ´ÎÒÆ¶¯Ö®ºóµÄÊý¾ÝÀëËûÃÇÔÚ×îÖÕÐòÁÐÖеÄλÖÃÏà²î²»´ó£¬±£Ö¤Êý¾ÝµÄ»ù±¾ÓÐÐò£¬´ó´óÌáÉýÁËÅÅÐòËÙ¶È£¬ÔËËãʱ¼ä¸´ÔÓ¶ÈN*logN
¿ìËÙÅÅÐò£º¶ÔÒ»¸ö¶ÓÁУ¬ÒÔËû¶ÓβµÄÊý¾ÝΪ»ù×¼Öµ£¬ÏÈ»®·Ö³ÉÁ½¿éÊý¾Ý£¬Ò»¿é¶¼´óÓÚÕâ¸öÖµ£¬Ò»¿éСÓÚÕâ¸öÖµ£¬È»ºó¶ÔÕâÁ½¿é½øÐÐͬÑùµÄ²Ù×÷£¬ÕâÊÇ×î¿ìµÄÅÅÐò·½·¨£¬ÔËËãʱ¼ä¸´ÔÓ¶ÈN*logN
ÏÂÃæÊÇ´úÂ룺
public static void sort(int[] a)
{
long time1,time2;
int c;
time1=System.currentTimeMillis();
// /*ðÅÝÅÅÐò*/
// for(int i=a.length-1;i>1;i--)
// {
// for(int j=0;j<i;j++)
// {
//
// if(a[j]<a[j+1])
// {
// c=a[j];
// a[j]=a[j+1];
// a[j+1]=c;
// }
// }
// }
// /*Ñ¡ÔñÅÅÐò*/
// int pos=0;
// for(int i=0;i<a.length-2;i++)
// {
// for(int j=i;j<a.length-1;j++)
// {
// if(a[pos]<a[j+1])
// pos=j+1;
// }
// c=a[i];
// a[i]=a[pos];
// a[pos]=c;
// pos=i+1;
// }
// /*²åÈëÅÅÐò*/
// for(int i=1;i<a.length;i++)
// {
// c=a[i];
// int m=i-1;
// while(m>=0&&a[m]<c)
// {
// a[m+1]=a[m];
// m--;
// }
// a[m+1]=c;
// }
// /*Ï£¶ûÅÅÐò*/
// int h=1;
// int m=0;
// while(3*h+1<a.length)
// h=3*h+1;
// while(h>0)
// {
// for(int i=h;i<a.length;i++)
// {
// c=a[i];
// m=i-h;
// while(m>=0&&a[m]<c)
// {
// a[m+h]=a[m];
// m-=h;
// }
// a[m+h]=c;
//
// }
// h=(h-1)/3;
// }
/*¿ìËÙÅÅÐò*/
provide(a,0,a.length-1);
time2=System.currentTimeMillis();
System.out.println("time:"+(time2-time1));
}
/*µÝ¹éµ÷Óû®·Ö*/
public static void provide(int[] a,int left,int right)
{
try
{
if(right<=left)
return;
else
{
/*ÉèÖûù×¼µã*/
int prov=a[right];
/*È¡µÃ»®·ÖÖжϵã*/
int par=partitionIt(a,left,right,prov);
/*¶Ô»®·ÖºóµÄÁ½±ßÔٴλ®·Ö*/
provide(a,left,par-1);
provide(a,par+1,right);
}
}
catch(Exception e)
{
System.out.println("eer:"+left+"."+right);
}
}
/*»®·ÖËã·¨*/
public static int partitionIt(int[] a,int left,int right,int prov)
{
/*ÉèÖÃ×óÓҶ˵ãµÄÖ¸Õë*/
int leftP=left-1;
int rightP=right;
int c;//ÓÃÓÚ½»»»µÄÖмä±äÁ¿
/*µ±×óÓÒÖ¸ÕëδÏàÓöʱ¼ÌÐø²Ù×÷*/
while(leftP<rightP)
{
/*µ±×óÖ¸ÕëµÄÊý¾ÝСÓÚ»ù×¼ÖµÊ±Ìø³ö*/
while(leftP<a.length-1&&a[++leftP]>prov)
;
/*µ±ÓÒÖ¸ÕëµÄÊý¾Ý´óÓÚ»ù×¼ÖµÊ±Ìø³ö*/
while(rightP>leftP&&a[--rightP]<prov)
;
/*×óÓÒÖ¸Õ붼ͣÏÂʱ½»»»Êý¾Ý*/
c=a[leftP];
a[leftP]=a[rightP];
a[rightP]=c;
}
/*»®·Ö½áÊø£¬½«»ù×¼µãÓëÖ¸ÕëµÄÏàÓöµã½»»»*/
c=a[rightP];
a[rightP]=a[right];
a[right]=c;
return leftP;
}
- ×÷Õߣº µ¶½£Ð¥ 2007Äê03ÔÂ28ÈÕ, ÐÇÆÚÈý 18:16¡¡ »Ø¸´£¨1£© |¡¡ ÒýÓã¨0£© ¼ÓÈ벩²É
³É¹¦ÊǵȲ»À´µÄ
³É¹¦ÊÇʲô£¬¹í²ÅÖªµÀ£¬¶Ô²»Í¬µÄÈËÀ´Ëµ£¬³É¹¦¾ßÓв»Í¬µÄº¬Ò壬Ȼ¶øÈçºÎ²ÅÄܹ»»ñµÃ³É¹¦Ó¦¸ÃÊÇ´ó¼Ò¶¼¹ØÐĵϰÌ⣬°üÀ¨ÎÒ×Ô¼º£¬µ«ÎÒ×Ô¼º¶¼ÊÇÃÔãµÄ£¬ÎÒÏòÍù³É¹¦£¬È´Ò²²»Í£µÄ´í¹ýÈ¥ÕùÈ¡³É¹¦µÄ»ú»á£¬»ØÏëÔÙÈý£¬Æäʵ¾ÍÊÇ×Ô¼ºÔõÒ»¸öÀÁ×ÖÁ˵á£
ºÜ¶àÈÕ×Ó֮ǰ¾ÍÔø¾Ëµ¹ýҪѧÕâÑùѧÄÇÑù£¬½á¹ûÈýÄê¹âÒõÒѾÊÅÈ¥£¬ÎÒÈ´ÒÀ¾ÉÊÇÒ»¸ö³ýÁËJ2meÖ®Íâɶ¶¼²»»áµÄ°ë²Ð£¬¶øÇÒ¸ù±¾Ã»ÓÐÒ»µãÏëѧϰµÄÄîÍ·£¬¶øÉí±ßµÄÐÖµÜÃÇÈ´Ò»¸ö¸ö¶¼¿ªÊ¼Éí±Ê®°Ë°ãÎäÒÕ£¬ÓÐʱºòÌýËûÃÇÌÖÂÛ¼¼ÊõÎÊÌ⣬ÎÒ»ù±¾ÉÏÊÇÔÆÀïÎíÀ¸Ð¾õ×Ô¼º¾Í¸ú±»Âñ½øÁËÍÁ¶ÑÀïµÄËÀÈËÒ»Ñù£¬ÒѾ¿ì±»Ê±´úËùÅׯú¡£
ÎÒÔøËµ×Ô¼º²»Ô¸ÒâÔÙ×ö¼¼Êõ£¬ÏëÍù¹ÜÀíµÄ·ÉÏ·¢Õ¹£¬È»¶øµ±»ú»áÕæµÄÀ´µ½ÎÒÃæÇ°µÄʱºò£¬µ±Ä³¹«Ë¾Á¦ÑûÎÒÈ¥×öËûÃÇ¿ª·¢ÍŶӵÄLeaderµÄʱºò£¬ÎÒȴήËõÁË£¬ÎÒµ±È»»áÕÒÖÖÖÖÀíÓÉÀ´½âÊÍ×Ô¼º²»ÄܽÓÊÜÕâ¸öְλ£¬È»¶øÎÒ×Ô¼ºÐÄÀï×îÇå³þ£¬ÎÒÊǺ¦Å£¬ÎÒûÓÐÈκÎÒ»µãÕâ·½ÃæµÄ¾Ñ飬ÎÒº¦ÅÂ×Ô¼º×ö²»ÁË»á¶ÔÈ˲»ºÃ½»´ý£¬ÎÒÅÂ×Ô¼º¶ªÈË£¬È»¶øÎªÊ²Ã´ÎÒ×ö²»µ½ÄØ£¬»¹²»ÊÇÒòΪÎÒûÓкúóäµçô£¬¾ÑéÔ±¾¾ÍÊÇÔÚʵ¼ùÖлýÀ۵쬶øÎÒÈ´ÀË·ÑÁËÕâô¶àʱ¼ä£¬ÎÒÕâʱºò²ÅÖªµÀ£¬YYÊÇ¿ªÐĵģ¬È»¶øµ±ÏÖʵÀ´µ½Äã¸úǰÄãÈ´ÒÀ¾ÉÖ»ÄÜYY¶ø²»¸Ò½ÓÊܵÄʱºò£¬ÄãÕæµÄ¾ÍÊǸöÌìɱµÄ¼úÈË¡£
³É¹¦ÊǵȲ»À´µÄ£¬2007Äê´º½ÚÂíÉϾ͵½ÁË£¬ÐµÄÒ»ÄêÓÖ¸ÃÀ¿ª´óÄ»£¬È˶¼ÔÚ½¥½¥ÀÏÈ¥£¬ÔÙ²»»¨Ê±¼äѧϰ£¬Ädzɹ¦¾ÍÓÀÔ¶Ö»ÄܳÉΪÄãÕí±ßµÄÒ»¸öÃÎÁË£¬Ò²Ðí»¹´ø×ÅЩÐíµÄ¿ÚË®...
- ×÷Õߣº µ¶½£Ð¥ 2007Äê01ÔÂ29ÈÕ, ÐÇÆÚÒ» 09:55¡¡ »Ø¸´£¨4£© |¡¡ ÒýÓã¨0£© ¼ÓÈ벩²É
J2meÈçºÎ²¥·ÅÉùÒô
ÔÚÊÖ»úÓ¦ÓûòÕßÊÖ»úÓÎÏ·Öж¼»áÓõ½ÒôЧ£¬ËùÒÔÈçºÎ²¥·ÅÒôЧÊdzÌÐòÓ¦¸Ã½â¾öµÄÎÊÌ⣬ÏÖÔÚµÄÒôЧһ°ãÓÐËÄÖÖ£¬amr,mid,wav,mp3£¬¶ÔJ2meÀ´Ëµ£¬×îÊÊÓõÄÊÇmidÒôЧ£¬ÏÂÃæ¸ø³öµÄ´úÂëÊÇÎÒµÄÉùÒô²¥·ÅÀ࣬ÊÊÓÃÓÚËÄÖÖÒôЧ¸ñʽ£¬ÔÚ´´½¨²¥·ÅÆ÷µÄʱºòÌṩÁËÁ½ÖÖ·½Ê½£¬Ò»ÖÖÊÇÖ±½Ó¶ÁÈ¡×ÊÔ´ÎļþµÄ´´½¨·½Ê½£¬Ò»ÖÖÊÇÏÈ´Ó±¾µØ»òÕßÍøÂç»ñÈ¡µ½°üº¬ÉùÒôµÄÁ÷byte[]µÄ´´½¨·½Ê½
/*ÊÖ»ú²©¿Í¿Í»§¶Ë.ÉùÒôÀà
¿ª·¢£ºÀî¹û
¿ª·¢¿ªÊ¼ÈÕÆÚ£º£²£°£°£¶ÄꣵÔ£¸ÈÕ
*/
import javax.microedition.media.*;
import java.io.*;
public class soundPlayer
{
public String pType;//ÊÖ»úÐͺÅ
public final String[] mediaType=new String[]{"audio/x-wav","audio/midi","audio/mpeg","audio/amr"};
public soundPlayer(String s)
{
pType=s;
}
/*´Ó×Ö½ÚÊý×éÀï»ñÈ¡ÊäÈëÁ÷*/
public InputStream getInputStream(byte[] data)
{
try
{
ByteArrayInputStream bis=new ByteArrayInputStream(data);
return (InputStream)bis;
}
catch(Exception e)
{
return null;
}
}
public Player createPlayer(InputStream is,String t,int loop)
{
Player player;
if(is!=null)
{
try
{
if(t.equals("mid"))
player=Manager.createPlayer(is,mediaType[1]);
else
if(t.equals("wav"))
player=Manager.createPlayer(is,mediaType[0]);
else
if(t.equals("mp3"))
player=Manager.createPlayer(is,mediaType[2]);
else
if(t.equals("amr"))
player=Manager.createPlayer(is,mediaType[3]);
else
return null;
}
catch(Exception e)
{
return null;
}
}
else
return null;
player.setLoopCount(loop);
return player;
}
/*´´½¨²¥·ÅÆ÷*/
public Player createPlayer(String s,int loop)
{
Player player;
try
{
InputStream is=getClass().getResourceAsStream(s);
String t=s.substring(s.indexOf('.')+1,s.length());
if(t.equals("mid"))
player=Manager.createPlayer(is,mediaType[1]);
else
if(t.equals("wav"))
player=Manager.createPlayer(is,mediaType[0]);
else
if(t.equals("mp3"))
player=Manager.createPlayer(is,mediaType[2]);
else
if(t.equals("amr"))
player=Manager.createPlayer(is,mediaType[3]);
else
return null;
}
catch(Exception e)
{
return null;
}
player.setLoopCount(loop);
return player;
}
/*²¥·ÅÉùÒô*/
public void playSound(Player p)
{
try
{
//System.out.println(p.getState());
if(p.getState()!=400)
p.start();
}
catch(Exception e)
{
}
}
/*ÔÝÍ£ÉùÒô*/
public void pauseSound(Player p)
{
try
{
if(p.getState()==400)
p.stop();
}
catch(Exception e)
{
}
}
/*Í£Ö¹ÉùÒô*/
public void stopSound(Player p)
{
try
{
if(p.getState()==400)
p.stop();
if(!pType.equals("NOKIA"))
p.deallocate();
}
catch(Exception e)
{
System.out.println(e);
}
}
/*¹Ø±ÕÉùÒô*/
public void closeSound(Player p)
{
try
{
stopSound(p);
p.close();
}
catch(Exception e)
{
}
}
}
- ×÷Õߣº µ¶½£Ð¥ 2006Äê12ÔÂ13ÈÕ, ÐÇÆÚÈý 14:06¡¡ »Ø¸´£¨0£© |¡¡ ÒýÓã¨0£© ¼ÓÈ벩²É
jsr75Ïà¹Ø²Ù×÷´úÂëа汾
Õâ¸ö°æ±¾±È֮ǰÄǸö´úÂë¶àÁËÈçÏÂÄÚÈÝ£º
1.Ôö¼ÓÁË»úÐÍÅжϣ¬Ôö¼ÓÁËÁ½¸ö·½·¨ÓÃÒÔÖ±½Ó¶ÁÈ¡ÊÖ»úµÄͼƬÎļþºÍÁåÉùÎļþ
2.ÁÐ±í·½·¨Ôö¼ÓÁ˸ùĿ¼²é¿´
3.ÍêÉÆÁËPIM¶ÁÈ¡·½·¨£¬Ö»¶ÁÈ¡µç»°±¾ÀïµÄÁªÏµÈËÐÕÃûºÍµç»°
4.ÍêÉÆÁËдÎļþ²Ù×÷£¬ÔÚ·ÇÇ¿ÖÆÐ´ÈëµÄÇé¿öÏÂ×öÁËÒì³£ÅжÏ
ÈçÏ´úÂëÀïµÄ×¢ÊͲ¿·ÖÊÇÎÒ×Ô¼ºÓÃÀ´µ÷ÊÔÓõģ¬¿ÉÒÔ²»Òª
/*ÎļþϵͳÀà
¿ª·¢£ºÀî¹û
¿ª·¢¿ªÊ¼ÈÕÆÚ£º2006Äê12ÔÂ11ÈÕ
*/
import javax.microedition.io.*;
import javax.microedition.io.file.*;
import java.io.*;
import java.util.*;
import javax.microedition.pim.*;
public class fileSystem
{
int fileSize;//Îļþ×Ü´óС
int currentProgress;//¶ÁÈ¡½ø¶È
String platform;
String message;
String imageFilePath;
String soundFilePath;
public static final String S40_DEVICE[]={"2610","2855","2865","3152","3155","5140","5200","5300","6020","6060","6080","6085","6101","6102","6103","6111","6125","6126","6131","6133","6136","6151","6152","6155","6155","6165","6170","6230","6233","6234","6235","6255","6265","6270","6280","6282","6288","6822","7260","7270","7360","7370","7373","7390","8800",};
public fileSystem()
{
platform = System.getProperty("microedition.platform");
if(platform.startsWith("SonyEricsson"))
{
imageFilePath="c:/pictures/";
soundFilePath="c:/sounds/";
}
else
if(platform.startsWith("Nokia"))
{
boolean isS40=false;
for(int i=0;i<S40_DEVICE.length;i++)
{
if(platform.startsWith("Nokia".concat(S40_DEVICE[i])))
{
isS40=true;
break;
}
}
if(isS40)
{
imageFilePath="C:/predefgallery/predefphotos/";
soundFilePath="C:/predefgallery/predefrecordings/";
}
else
{
imageFilePath="C:/Data/Images/";
soundFilePath="C:/Data/Sounds/Digital/";
}
}
else
{
imageFilePath="/";
soundFilePath="/";
}
}
/**±£´æÎļþ
* @path:·¾¶
* @fileData:ÎļþÊý¾Ý
* @overrite:ÊÇ·ñÇ¿ÖÆ¸²¸Ç±£´æ
* @return: -1:ÎļþÒÑ´æÔÚ,0:³öÏÖÒì³£,1:±£´æ³É¹¦
*/
public int saveFile(String path,byte[] fileData,boolean overrite)
{
try
{
FileConnection fc=(FileConnection)(Connector.open(path));
if(fc.exists())
{
if(overrite)
{
fc.create();
fc.setWritable(true);
OutputStream os=fc.openOutputStream();
os.write(fileData);
os.close();
return 1;
}
else
return -1;
}
else
{
fc.create();
fc.setWritable(true);
OutputStream os=fc.openOutputStream();
os.write(fileData);
os.close();
return 1;
}
}
catch(Exception e)
{
System.out.println("saveFileErr:"+e.toString());
return 0;
}
}
/*ɾ³ýÎļþ*/
public void deleteFile(String path)
{
try
{
FileConnection fc=(FileConnection)(Connector.open(path));
if(fc.exists())
fc.delete();
}
catch(Exception e)
{
System.out.println("deleteFileErr:"+e.toString());
}
}
/**»ñȡĿ¼ÎļþÁбí
* @path:·¾¶
* @type:ÁбíÀàÐÍ(0:Îļþ¼ÐºÍÎļþ¶¼ÁÐ;1:Ö»ÁÐÎļþ¼Ð;2:Ö»ÁÐÎļþ)
* @return:Ö¸¶¨Â·¾¶ÏµÄĿ¼ºÍÎļþµÄÃû³ÆÁбí
*/
public Vector getList(String path,int type)
{
try
{
Enumeration en=null;
Vector listVec=new Vector(0,1);
if(path.equals("root"))
{
en=FileSystemRegistry.listRoots();
}
else
{
FileConnection fc=(FileConnection)(Connector.open(path));
if(fc.exists())
en=fc.list();
}
if(en!=null)
{
while(en.hasMoreElements())
{
String name=(String)(en.nextElement());
switch(type)
{
case 0:
listVec.addElement(name);
break;
case 1:
if(name.indexOf("/")!=-1)
listVec.addElement(name);
break;
case 2:
if(name.indexOf("/")==-1)
listVec.addElement(name);
break;
}
}
return listVec;
}
else
{
System.out.println("pathErr");
return null;
}
}
catch(Exception e)
{
System.out.println("listErr:"+e.toString());
message=e.toString();
return null;
}
}
/*ͼƬÎļþÁбí*/
public Vector getImageList()
{
Vector list=getList("file:///"+imageFilePath,0);
return list;
}
/*ÉùÒôÎļþÁбí*/
public Vector getSoundList()
{
Vector list=getList("file:///"+soundFilePath,0);
return list;
}
/*¶ÁÈ¡Îļþ
$path:Îļþ·¾¶
$showProgress:ÊÇ·ñÏÔʾ¶ÁÈ¡½ø¶È£¬×¢Ò⣬Èç¹ûÑ¡ÔñÏÔʾ½ø¶È»áµ¼Ö¶ÁÈ¡ÎļþËٶȱäÂý
$return:Èç¹û³É¹¦»ñÈ¡µ½ÎļþÔò·µ»Ø´æ´¢ÎļþÊý¾ÝµÄÊý×飬·ñÔò·µ»Ønull
*/
public byte[] readFile(String path,boolean showProgress)
{
try
{
FileConnection fc=(FileConnection)(Connector.open(path));
if(fc.exists())
{
message="Îļþ´æÔÚ";
InputStream is=fc.openInputStream();
fileSize=is.available();
byte[] temp=new byte[fileSize];
/*Èç¹ûÐèÒªÏÔʾ½ø¶È*/
if(showProgress)
{
int ch;
int i=0;
int step=fileSize/100;
currentProgress=0;
while((ch=is.read())!=-1)
{
temp[i++]=(byte)ch;
if(i%step==0)
currentProgress++;
}
}
else
is.read(temp);
is.close();
return temp;
}
else
return null;
}
catch(Exception e)
{
System.out.println("readFileErr:"+path+e.toString());
message=e.toString();
return null;
}
}
/**»ñÈ¡ÊÖ»úÖеÄÁªÏµÈËÐÅÏ¢
* @return:°üº¬ÁªÏµÈËÐÕÃûºÍµç»°µÄVector
*/
public Vector readPIM()
{
try
{
Vector pim=new Vector(0,1);
ContactList cl=(ContactList)(PIM.getInstance().openPIMList(PIM.CONTACT_LIST,PIM.READ_ONLY));
Enumeration en=cl.items();
Vector c=new Vector(0,1);
while(en.hasMoreElements())
{
c.addElement((Contact)(en.nextElement()));
}
System.out.println(c.size());
for(int i=0;i<c.size();i++)
{
Contact temp=(Contact)(c.elementAt(i));
if(cl.isSupportedField(Contact.TEL))
{
String name="",phone="";
if(cl.isSupportedField(Contact.FORMATTED_NAME))
{
for(int m=0;m<temp.countValues(Contact.FORMATTED_NAME);m++)
name+="&"+temp.getString(Contact.FORMATTED_NAME,m);
}
name+="&";
for(int m=0;m<temp.countValues(Contact.TEL);m++)
phone+="&"+temp.getString(Contact.TEL,m);
phone+="&";
pim.addElement(new String[]{name,phone});
}
//pim.addElement((String)(temp.getString(Contact.FORMATTED_NAME,m)));
//System.out.println(temp.getString(Contact.TEL,m));
// message="ÊýÁ¿:"+c.size()+
// (cl.isSupportedField(Contact.NAME)?"Name:"+temp.countValues(Contact.NAME):"")
// +(cl.isSupportedField(Contact.ADDR)?"addr:"+temp.countValues(Contact.ADDR):"")
// +(cl.isSupportedField(Contact.EMAIL)?"Email:"+temp.countValues(Contact.EMAIL):"")
// +(cl.isSupportedField(Contact.FORMATTED_NAME)?"FORMATTED_NAME:"+temp.countValues(Contact.FORMATTED_NAME):"")
// +(cl.isSupportedField(Contact.NICKNAME)?"NICKNAME:"+temp.countValues(Contact.NICKNAME):"")
// +(cl.isSupportedField(Contact.TEL)?"TEL:"+temp.countValues(Contact.TEL):"")
// +(cl.isSupportedField(Contact.TITLE)?"Title:"+temp.countValues(Contact.TITLE):"");
}
return pim;
}
catch(Exception e)
{
System.out.println(e);
message="¶ÁÈ¡PIMʧ°Ü:"+e.toString();
return null;
}
}
}
- ×÷Õߣº µ¶½£Ð¥ 2006Äê12ÔÂ13ÈÕ, ÐÇÆÚÈý 14:02¡¡ »Ø¸´£¨1£© |¡¡ ÒýÓã¨0£© ¼ÓÈ벩²É
MD5Ëã·¨J2me°æ±¾
ÊÇÔÚºï¸çºÍ°¢ÍÁµÄ°ïÖúϵõ½µÄ£¬Ö±½ÓÌù´úÂ룬԰æÖ»ÓÐÒ»¸öÈë¿ÚÊÇ×Ö·û´®Èë¿Ú£¬ÔÚʵ¼ÊʹÓÃÖУ¬´ËÈë¿ÚÔÚ¼ÆËãÎļþµÄMD5ʱ»áÓÐÎÊÌ⣬ËùÒÔÎÒ¼ÓÁËÒ»¸öbyte[]Èë¿Ú¡£
/*ÊÖ»ú²©¿Í¿Í»§¶Ë.MD5Âë¼ÆËã
¿ª·¢£ºÀî¹û
¿ª·¢¿ªÊ¼ÈÕÆÚ£º£²£°£°£¶ÄꣵÔ£¸ÈÕ
*/
public class MD5 {
/* ÏÂÃæÕâЩS11-S44ʵ¼ÊÉÏÊÇÒ»¸ö4*4µÄ¾ØÕó£¬ÔÚÔʼµÄCʵÏÖÖÐÊÇÓÃ#define ʵÏÖµÄ,ÕâÀï°ÑËüÃÇ
/* ʵÏÖ³ÉΪstatic finalÊDZíʾÁËÖ»¶Á£¬ÇÐÄÜÔÚͬһ¸ö½ø³Ì¿Õ¼äÄڵĶà¸öInstance¼ä¹²Ïí*/
static final int S11 = 7;
static final int S12 = 12;
static final int S13 = 17;
static final int S14 = 22;
static final int S21 = 5;
static final int S22 = 9;
static final int S23 = 14;
static final int S24 = 20;
static final int S31 = 4;
static final int S32 = 11;
static final int S33 = 16;
static final int S34 = 23;
static final int S41 = 6;
static final int S42 = 10;
static final int S43 = 15;
static final int S44 = 21;
static final byte[] PADDING = {-128, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0};
/* ÏÂÃæµÄÈý¸ö³ÉÔ±ÊÇMD5¼ÆËã¹ý³ÌÖÐÓõ½µÄ3¸öºËÐÄÊý¾Ý£¬ÔÚÔʼµÄCʵÏÖÖÐ */
/* ±»¶¨Òåµ½MD5_CTX½á¹¹ÖÐ */
private long[] state = new long[4]; // state (ABCD)
private long[] count = new long[2]; // number of bits, modulo 2^64 (lsb first)
private byte[] buffer = new byte[64]; // input buffer
/* digestHexStrÊÇMD5µÄΨһһ¸ö¹«¹²³ÉÔ±£¬ÊÇ×îÐÂÒ»´Î¼ÆËã½á¹ûµÄ16½øÖÆASCII±íʾ. */
public String digestHexStr;
/* digest,ÊÇ×îÐÂÒ»´Î¼ÆËã½á¹ûµÄ2½øÖÆÄÚ²¿±íʾ£¬±íʾ128bitµÄMD5Öµ. */
private byte[] digest = new byte[16];
/* getMD5ofStrÊÇÀàMD5×îÖ÷ÒªµÄ¹«¹²·½·¨£¬Èë¿Ú²ÎÊýÊÇÄãÏëÒª½øÐÐMD5±ä»»µÄ×Ö·û´® */
/* ·µ»ØµÄÊDZ任ÍêµÄ½á¹û£¬Õâ¸ö½á¹ûÊÇ´Ó¹«¹²³ÉÔ±digestHexStrÈ¡µÃµÄ£®*/
public String getMD5ofStr(String inbuf) {
md5Init();
md5Update(inbuf.getBytes(), inbuf.length());
md5Final();
digestHexStr = "";
for (int i = 0; i < 16; i++) {
digestHexStr += byteHEX(digest[i]);
}
return digestHexStr;
}
public String getMD5ofStr(byte[] inbuf)
{
md5Init();
md5Update(inbuf, inbuf.length);
md5Final();
digestHexStr = "";
for (int i = 0; i < 16; i++) {
digestHexStr += byteHEX(digest[i]);
}
return digestHexStr;
}
/* ÕâÊÇMD5Õâ¸öÀàµÄ±ê×¼¹¹Ô캯Êý£¬JavaBeanÒªÇóÓÐÒ»¸öpublicµÄ²¢ÇÒûÓвÎÊýµÄ¹¹Ô캯Êý. */
public MD5() {
md5Init();
}
/* md5InitÊÇÒ»¸ö³õʼ»¯º¯Êý£¬³õʼ»¯ºËÐıäÁ¿£¬×°Èë±ê×¼µÄ»ÃÊý */
private void md5Init() {
count[0] = 0L;
count[1] = 0L;
///* Load magic initialization constants.
state[0] = 0x67452301L;
state[1] = 0xefcdab89L;
state[2] = 0x98badcfeL;
state[3] = 0x10325476L;
return;
}
/* F, G, H ,I ÊÇ4¸ö»ù±¾µÄMD5º¯Êý£¬ÔÚÔʼµÄMD5µÄCʵÏÖÖУ¬ÓÉÓÚËüÃÇÊÇ */
/* ¼òµ¥µÄλÔËË㣬¿ÉÄܳöÓÚЧÂʵĿ¼ÂǰÑËüÃÇʵÏÖ³ÉÁ˺꣬ÔÚjavaÖУ¬*/
/* ÎÒ°ÑËüÃÇʵÏÖ³ÉÁËprivate·½·¨£¬Ãû×Ö±£³ÖÁËÔÀ´CÖеġ£ */
private long F(long x, long y, long z) {
return (x & y) | ((~x) & z);
}
private long G(long x, long y, long z) {
return (x & z) | (y & (~z));
}
private long H(long x, long y, long z) {
return x ^ y ^ z;
}
private long I(long x, long y, long z) {
return y ^ (x | (~z));
}
/* FF,GG,HHºÍII½«µ÷ÓÃF,G,H,I½øÐнüÒ»²½±ä»» FF, GG, HH, and II transformations */
/* for rounds 1, 2, 3, and 4. Rotation is separate from addition to prevent recomputation. */
private long FF(long a, long b, long c, long d, long x, long s, long ac) {
a += F(b, c, d) + x + ac;
a = ((int) a << s) | ((int) a >>> (32 - s));
a += b;
return a;
}
private long GG(long a, long b, long c, long d, long x, long s, long ac) {
a += G(b, c, d) + x + ac;
a = ((int) a << s) | ((int) a >>> (32 - s));
a += b;
return a;
}
private long HH(long a, long b, long c, long d, long x, long s, long ac) {
a += H(b, c, d) + x + ac;
a = ((int) a << s) | ((int) a >>> (32 - s));
a += b;
return a;
}
private long II(long a, long b, long c, long d, long x, long s, long ac) {
a += I(b, c, d) + x + ac;
a = ((int) a << s) | ((int) a >>> (32 - s));
a += b;
return a;
}
/* md5UpdateÊÇMD5µÄÖ÷¼ÆËã¹ý³Ì£¬inbufÊÇÒª±ä»»µÄ×Ö½Ú´®£¬inputlenÊdz¤¶È£¬Õâ¸ö */
/* º¯ÊýÓÉgetMD5ofStrµ÷Ó㬵÷ÓÃ֮ǰÐèÒªµ÷ÓÃmd5init£¬Òò´Ë°ÑËüÉè¼Æ³Éprivate */
private void md5Update(byte[] inbuf, int inputLen) {
int i, index, partLen;
byte[] block = new byte[64];
index = (int) (count[0] >>> 3) & 0x3F;
// /* Update number of bits */
if ((count[0] += (inputLen << 3)) < (inputLen << 3))
count[1]++;
count[1] += (inputLen >>> 29);
partLen = 64 - index;
// Transform as many times as possible.
if (inputLen >= partLen) {
md5Memcpy(buffer, inbuf, index, 0, partLen);
md5Transform(buffer);
for (i = partLen; i + 63 < inputLen; i += 64) {
md5Memcpy(block, inbuf, 0, i, 64);
md5Transform(block);
}
index = 0;
} else
i = 0;
///* Buffer remaining input */
md5Memcpy(buffer, inbuf, index, i, inputLen - i);
}
/* md5FinalÕûÀíºÍÌîдÊä³ö½á¹û */
private void md5Final() {
byte[] bits = new byte[8];
int index, padLen;
///* Save number of bits */
Encode(bits, count, 8);
///* Pad out to 56 mod 64.
index = (int) (count[0] >>> 3) & 0x3f;
padLen = (index < 56) ? (56 - index) : (120 - index);
md5Update(PADDING, padLen);
///* Append length (before padding) */
md5Update(bits, 8);
///* Store state in digest */
Encode(digest, state, 16);
}
/* md5MemcpyÊÇÒ»¸öÄÚ²¿Ê¹ÓõÄbyteÊý×éµÄ¿é¿½±´º¯Êý£¬´ÓinputµÄinpos¿ªÊ¼°Ñ */
/* len³¤¶ÈµÄ×Ö½Ú¿½±´µ½outputµÄoutposλÖÿªÊ¼. */
private void md5Memcpy(byte[] output, byte[] input, int outpos, int inpos, int len) {
int i;
for (i = 0; i < len; i++)
output[outpos + i] = input[inpos + i];
}
/* md5TransformÊÇMD5ºËÐı任³ÌÐò£¬ÓÐmd5Updateµ÷Óã¬blockÊÇ·Ö¿éµÄÔʼ×Ö½Ú. */
private void md5Transform(byte block[]) {
long a = state[0], b = state[1], c = state[2], d = state[3];
long[] x = new long[16];
Decode(x, block, 64);
/* Round 1 */
a = FF(a, b, c, d, x[0], S11, 0xd76aa478L); /* 1 */
d = FF(d, a, b, c, x[1], S12, 0xe8c7b756L); /* 2 */
c = FF(c, d, a, b, x[2], S13, 0x242070dbL); /* 3 */
b = FF(b, c, d, a, x[3], S14, 0xc1bdceeeL); /* 4 */
a = FF(a, b, c, d, x[4], S11, 0xf57c0fafL); /* 5 */
d = FF(d, a, b, c, x[5], S12, 0x4787c62aL); /* 6 */
c = FF(c, d, a, b, x[6], S13, 0xa8304613L); /* 7 */
b = FF(b, c, d, a, x[7], S14, 0xfd469501L); /* 8 */
a = FF(a, b, c, d, x[8], S11, 0x698098d8L); /* 9 */
d = FF(d, a, b, c, x[9], S12, 0x8b44f7afL); /* 10 */
c = FF(c, d, a, b, x[10], S13, 0xffff5bb1L); /* 11 */
b = FF(b, c, d, a, x[11], S14, 0x895cd7beL); /* 12 */
a = FF(a, b, c, d, x[12], S11, 0x6b901122L); /* 13 */
d = FF(d, a, b, c, x[13], S12, 0xfd987193L); /* 14 */
c = FF(c, d, a, b, x[14], S13, 0xa679438eL); /* 15 */
b = FF(b, c, d, a, x[15], S14, 0x49b40821L); /* 16 */
/* Round 2 */
a = GG(a, b, c, d, x[1], S21, 0xf61e2562L); /* 17 */
d = GG(d, a, b, c, x[6], S22, 0xc040b340L); /* 18 */
c = GG(c, d, a, b, x[11], S23, 0x265e5a51L); /* 19 */
b = GG(b, c, d, a, x[0], S24, 0xe9b6c7aaL); /* 20 */
a = GG(a, b, c, d, x[5], S21, 0xd62f105dL); /* 21 */
d = GG(d, a, b, c, x[10], S22, 0x2441453L); /* 22 */
c = GG(c, d, a, b, x[15], S23, 0xd8a1e681L); /* 23 */
b = GG(b, c, d, a, x[4], S24, 0xe7d3fbc8L); /* 24 */
a = GG(a, b, c, d, x[9], S21, 0x21e1cde6L); /* 25 */
d = GG(d, a, b, c, x[14], S22, 0xc33707d6L); /* 26 */
c = GG(c, d, a, b, x[3], S23, 0xf4d50d87L); /* 27 */
b = GG(b, c, d, a, x[8], S24, 0x455a14edL); /* 28 */
a = GG(a, b, c, d, x[13], S21, 0xa9e3e905L); /* 29 */
d = GG(d, a, b, c, x[2], S22, 0xfcefa3f8L); /* 30 */
c = GG(c, d, a, b, x[7], S23, 0x676f02d9L); /* 31 */
b = GG(b, c, d, a, x[12], S24, 0x8d2a4c8aL); /* 32 */
/* Round 3 */
a = HH(a, b, c, d, x[5], S31, 0xfffa3942L); /* 33 */
d = HH(d, a, b, c, x[8], S32, 0x8771f681L); /* 34 */
c = HH(c, d, a, b, x[11], S33, 0x6d9d6122L); /* 35 */
b = HH(b, c, d, a, x[14], S34, 0xfde5380cL); /* 36 */
a = HH(a, b, c, d, x[1], S31, 0xa4beea44L); /* 37 */
d = HH(d, a, b, c, x[4], S32, 0x4bdecfa9L); /* 38 */
c = HH(c, d, a, b, x[7], S33, 0xf6bb4b60L); /* 39 */
b = HH(b, c, d, a, x[10], S34, 0xbebfbc70L); /* 40 */
a = HH(a, b, c, d, x[13], S31, 0x289b7ec6L); /* 41 */
d = HH(d, a, b, c, x[0], S32, 0xeaa127faL); /* 42 */
c = HH(c, d, a, b, x[3], S33, 0xd4ef3085L); /* 43 */
b = HH(b, c, d, a, x[6], S34, 0x4881d05L); /* 44 */
a = HH(a, b, c, d, x[9], S31, 0xd9d4d039L); /* 45 */
d = HH(d, a, b, c, x[12], S32, 0xe6db99e5L); /* 46 */
c = HH(c, d, a, b, x[15], S33, 0x1fa27cf8L); /* 47 */
b = HH(b, c, d, a, x[2], S34, 0xc4ac5665L); /* 48 */
/* Round 4 */
a = II(a, b, c, d, x[0], S41, 0xf4292244L); /* 49 */
d = II(d, a, b, c, x[7], S42, 0x432aff97L); /* 50 */
c = II(c, d, a, b, x[14], S43, 0xab9423a7L); /* 51 */
b = II(b, c, d, a, x[5], S44, 0xfc93a039L); /* 52 */
a = II(a, b, c, d, x[12], S41, 0x655b59c3L); /* 53 */
d = II(d, a, b, c, x[3], S42, 0x8f0ccc92L); /* 54 */
c = II(c, d, a, b, x[10], S43, 0xffeff47dL); /* 55 */
b = II(b, c, d, a, x[1], S44, 0x85845dd1L); /* 56 */
a = II(a, b, c, d, x[8], S41, 0x6fa87e4fL); /* 57 */
d = II(d, a, b, c, x[15], S42, 0xfe2ce6e0L); /* 58 */
c = II(c, d, a, b, x[6], S43, 0xa3014314L); /* 59 */
b = II(b, c, d, a, x[13], S44, 0x4e0811a1L); /* 60 */
a = II(a, b, c, d, x[4], S41, 0xf7537e82L); /* 61 */
d = II(d, a, b, c, x[11], S42, 0xbd3af235L); /* 62 */
c = II(c, d, a, b, x[2], S43, 0x2ad7d2bbL); /* 63 */
b = II(b, c, d, a, x[9], S44, 0xeb86d391L); /* 64 */
state[0] += a;
state[1] += b;
state[2] += c;
state[3] += d;
}
/* Encode°ÑlongÊý×鰴˳Ðò²ð³ÉbyteÊý×飬ÒòΪjavaµÄlongÀàÐÍÊÇ64bitµÄ£¬*/
/* Ö»²ðµÍ32bit£¬ÒÔÊÊÓ¦ÔʼCʵÏÖµÄÓÃ;. */
private void Encode(byte[] output, long[] input, int len) {
int i, j;
for (i = 0, j = 0; j < len; i++, j += 4) {
output[j] = (byte) (input[i] & 0xffL);
output[j + 1] = (byte) ((input[i] >>> 8) & 0xffL);
output[j + 2] = (byte) ((input[i] >>> 16) & 0xffL);
output[j + 3] = (byte) ((input[i] >>> 24) & 0xffL);
}
}
/* Decode°ÑbyteÊý×鰴˳ÐòºÏ³É³ÉlongÊý×飬ÒòΪjavaµÄlongÀàÐÍÊÇ64bitµÄ£¬*/
/* Ö»ºÏ³ÉµÍ32bit£¬¸ß32bitÇåÁ㣬ÒÔÊÊÓ¦ÔʼCʵÏÖµÄÓÃ;. */
private void Decode(long[] output, byte[] input, int len) {
int i, j;
for (i = 0, j = 0; j < len; i++, j += 4)
output[i] = b2iu(input[j]) |
(b2iu(input[j + 1]) << 8) |
(b2iu(input[j + 2]) << 16) |
(b2iu(input[j + 3]) << 24);
return;
}
/* b2iuÊÇÒ»¸ö°Ñbyte°´ÕÕ²»¿¼ÂÇÕý¸ººÅµÄÔÔòµÄ£¢Éýλ£¢³ÌÐò£¬ÒòΪjavaûÓÐunsignedÔËËã */
public static long b2iu(byte b) {
return b < 0 ? b & 0x7F + 128 : b;
}
/* byteHEX()£¬ÓÃÀ´°ÑÒ»¸öbyteÀàÐ͵ÄÊýת»»³ÉÊ®Áù½øÖƵÄASCII±íʾ£¬*/
/* ÒòΪjavaÖеÄbyteµÄtoStringÎÞ·¨ÊµÏÖÕâÒ»µã£¬ÎÒÃÇÓÖûÓÐCÓïÑÔÖеÄsprintf(outbuf,"%02X",ib). */
public static String byteHEX(byte ib) {
/* if want to output normal letter please user DigitNormal */
char[] DigitNormal = {'0', '1', '2', '3', '4', '5', '6', '7', '8', '9',
'a', 'b', 'c', 'd', 'e', 'f'};
/* if want to output capitalization letter please user DigitCap */
/* char[] DigitCap = { '0','1','2','3','4','5','6','7','8','9',
'A','B','C','D','E','F' }; */
char[] ob = new char[2];
ob[0] = DigitNormal[(ib >>> 4) & 0X0F];
/* ob[0] = DigitCap[(ib >>> 4) & 0X0F]; */
ob[1] = DigitNormal[ib & 0X0F];
/* ob[1] = DigitCap[ib & 0X0F]; */
String s = new String(ob);
return s;
}
public byte[] getMD5(byte[] data1 , byte[] data2) {
md5Init();
md5Update(data1, data1.length);
md5Update(data2, data2.length);
// md5Update(Request.key , Request.key.length);
md5Final();
return digest;
}
}
- ×÷Õߣº µ¶½£Ð¥ 2006Äê08ÔÂ29ÈÕ, ÐÇÆÚ¶þ 13:22¡¡ »Ø¸´£¨2£© |¡¡ ÒýÓã¨0£© ¼ÓÈ벩²É
J2meÖÐʵÏÖͼƬËõ·Å
²»¶à˵ÁË£¬Ö±½ÓÌù´úÂë
/*ͼÏñ±ä»»*/
public Image scaleImage(Image src,int scales1,int scales2)
{
return transImage(src,src.getWidth()*scales1/scales2,src.getHeight()*scales1/scales2);
}
public Image transImage(Image src, int w, int h)
{
int srcW = src.getWidth();
int srcH = src.getHeight();
int dstW=w,dstH=h;
Image tmp = Image.createImage(dstW, srcH);
Graphics g = tmp.getGraphics();
int scale=16;
int delta = (srcW << scale) / dstW;//ɨÃ賤¶È
int pos = delta / 2;//ɨÃèλÖÃ
for (int x = 0; x < dstW; x++)
{
g.setClip(x, 0, 1, srcH);
g.drawImage(src, x - (pos >> scale), 0, Graphics.LEFT | Graphics.TOP);
pos += delta;
}
Image dst = Image.createImage( dstW, dstH);
g = dst.getGraphics();
delta = (srcH << scale) / dstH;
pos = delta / 2;
for (int y = 0; y < dstH; y++)
{
g.setClip(0,y, dstW, 1);
g.drawImage(tmp, 0, y - (pos >> scale), Graphics.LEFT | Graphics.TOP);
pos += delta;
}
return dst;
}
Ó÷¨¾ÙÀý:
1.½«Ò»ÕÅͼƬpicת»»³É176*208µÄͼ
pic=transImage(pic,176,208);
2.½«Ò»ÕÅͼƬpicת»»³ÉÔÀ´µÄÁ½±¶´ó
pic=scaleImage(pic,2,1);
3.½«Ò»ÕÅͼƬpicת»»³ÉÔÀ´µÄÈý·ÖÖ®¶þ
pic=scaleImage(pic,2,3);
´ÓÉÏÃæµÄÀý×Ó£¬´ó¼ÒÓ¦¸ÃÖªµÀÔõôÓÃÁ˰ɣ¬ºÇºÇ
- ×÷Õߣº µ¶½£Ð¥ 2006Äê07ÔÂ21ÈÕ, ÐÇÆÚÎå 17:37¡¡ »Ø¸´£¨5£© |¡¡ ÒýÓã¨0£© ¼ÓÈ벩²É
Jsr75ѧϰ±Ê¼Ç(Ò»)
Õâ¶Îʱ¼äÒòΪ¿ª·¢ÉÏÒªÓõ½±¾µØÎļþ£¬Òò´Ë¿ªÊ¼½Ó´¥Jsr75µÄ°ü£¬Jsr75·ÖÁ½¸ö²¿·Ö£¬Ò»²¿·ÖÊÇFile£¬¼´±¾µØÎļþϵͳ£¬Ò»²¿·ÖÊÇPIM£¬Ëµ°×Á˾ÍÊǵ绰±¾Ö®ÀàµÄÐÅÏ¢£¬ÎÒÏÈѧϰµÄÊÇFile²¿·Ö£¬Í¨¹ýimport javax.microedition.io.file.*ÀïµÄ°ü£¬¿ÉÒÔʵÏÖ×ÔÓÉ·ÃÎʱ¾»úµÄÎļþϵͳ£¬¾Í¸úWindosÀïµÄ×ÊÔ´¹ÜÀíÆ÷Ò»Ñù£¬ÔÚÕâÀïÎÒ½éÉܼ¸¸öÎÒдµÄ·½·¨
Ò».»ñȡָ¶¨Â·¾¶µÄĿ¼ºÍÎļþÁбí
/*Ŀ¼ÎļþÁбí*/
public Vector list(String path)
{
try
{
FileConnection fc=(FileConnection)(Connector.open(path));
if(fc.exists())
{
Vector listVec=new Vector(0,1);
Enumeration en=fc.list();
while(en.hasMoreElements())
{
listVec.addElement((String)(en.nextElement()));
}
return listVec;
}
else
return null;
}
catch(Exception e)
{
System.out.println("listErr:"+e.toString());
return null;
}
}
·½·¨ÀïµÄpath²ÎÊý¾ÍÊÇÒª²éÕҵķ¾¶£¬±ÈÈçfile:///c:/pictures/£¬Çмǣ¬Èç¹ûÊÇĿ¼Path£¬ÄÇôºóÃæµÄ/Ò»¶¨²»ÄÜÊ¡£¬·ñÔò»á²éÕÒ²»µ½ÄÚÈÝ¡£Õâ¸ö·½·¨·µ»ØµÄÊÇÒ»¸ö°üº¬ÁËÖ¸¶¨PathϵÄËùÓÐĿ¼ÃûºÍÎļþÃûµÄÏòÁ¿¡£
¶þ.½¨Á¢»òÕß±£´æÒ»¸öÎļþµ½Ö¸¶¨Â·¾¶
/*±£´æÎļþ*/
public void saveFile(String path,byte[] fileData)
{
try
{
FileConnection fc=(FileConnection)(Connector.open(path));
fc.create();
fc.setWritable(true);
OutputStream os=fc.openOutputStream();
os.write(fileData);
os.close();
}
catch(Exception e)
{
System.out.println("saveFileErr:"+e.toString());
}
}
fileDataÊÇÐèÒª±£´æµÄÎļþÄÚÈÝ£¬¿ÉÒÔÊÇÉùÒô£¬Ò²¿ÉÒÔÊÇͼÏñ£¬»òÕßÎÄ×ÖÖ®Àà
Èý.ɾ³ýÖ¸¶¨Îļþ
/*ɾ³ýÎļþ*/
public void deleteFile(String path)
{
try
{
FileConnection fc=(FileConnection)(Connector.open(path));
if(fc.exists())
fc.delete();
}
catch(Exception e)
{
System.out.println("deleteFileErr:"+e.toString());
}
}
Õâ¸ö·½·¨¾Í²»Óöà½âÊÍÁË
Ë