深入了解J2ME Polish+Eclipse配置过程

开发 前端
这里向大家描述一下J2ME Polish+Eclipse配置过程,到目前(2010/1/20)为止,J2ME Polish官方网站上公布的Polish最新版本是2.1.4,本人对Eclipse-SDK-3.4.1-win32+J2ME-Polish-2.0.1版本进行配置。

本文和大家重点讨论一下J2ME Polish+Eclipse配置过程,首先自然是Eclipse SDK的下载和安装,这个过程就不做过多的介绍,本人的默认安装路径是D:\ProgramFiles。其次是J2ME-Polish-2.0.1版本的安装,具体主要过程如下。

J2ME Polish+Eclipse配置过程详解

到目前(2010/1/20)为止,J2ME Polish官方网站上公布的Polish***版本是2.1.4,但是鉴于本人使用Eclipse-SDK-3.5.1-win32+J2ME-Polish-2.1.3版本配置时反复试验均没有成功,于是改为Eclipse-SDK-3.4.1-win32+J2ME-Polish-2.0.1版本进行配置,下面就对配置过程以及***创建工程的整个过程做一个介绍。

首先自然是Eclipse SDK的下载和安装,这个过程就不做过多的介绍,本人的默认安装路径是D:\ProgramFiles。其次是J2ME-Polish-2.0.1版本的安装,具体主要过程如下,前面的过程就不多说了,主要对以下关键几部进行说明:

1.在此选择安装路径,本人的安装路径为D:\ProgramFiles\J2ME-Polish2.0.1文件夹,点击next继续

2.分别设置WTK,各个手机厂商Emulator模拟器(如Nokia),以及IDE(如Eclipse)的安装文件路【注意:这一步的设置十分关键,应仔细设置好】,设置好后点击next继续

3.勾选Eclipse Integration(Mepose)这一项,点击下一步进入安装。

4.安装完成后退出。J2ME-Polish安装完成了,接下来就是在Eclipse中对它进行配置,这时需要一个Mepose的插件,使用Eclipse中的在线安装即可。#p#

步骤如下:

1.选择菜单【Help】->【SoftwareUpdates…】,在弹出的对话框中选择AvailableSoftware并在右侧的AddSite中的Location处添加地址:http://www.J2ME Polish.org/mepose即可。

2.点击Install进行安装。

3.安装完成后Eclipse会重启。如果安装成功在【Windows】->【Preferences】下会出现J2ME Polish菜单选项(如下图)。如果没能出现则说明安装过程存在问题,在确定所有设置均正常后,可能是由于版本之间的不匹配问题。本人当初安装时,使用的是J2ME Polish2.1.3与EclipseSDK3.5.1就出现过安装结束后没有出现J2ME Polish选项的问题,***换做现在的版本则安装一切正常。

通过以上步骤J2ME Polish的安装以及集成在IDE环境中的工作就算完成了,接下来新建一个工程来体验一下Polish的功能。
首先来新建一个Polish工程,【File】->【New】->【Other…】,在Java中选择J2ME PolishProject。
键入工程名HelloPolish,勾选Generatetemplate?选项,并在Classname一栏输入主类名PolishHello,Packagename一栏中输入包名com.polish.learning,点击next,下一步。

【注意】:此处的Generatetemplate?选项一定要勾选,不然后面建立类时会出现一些问题。

分别指定好Polish,WTK以及手机模拟器的各个路径地址。当然,这些都可以在build.xml文件中进行再设置,这个以后会慢慢给大家介绍。点击next,下一步。

在此,我们选择Configurations中的CLDC/1.1,Platforms中的MIDP/2.0以及Devices中Virtual的Generic/DefaultColorPhone,关于这里的设置,以后会慢慢给大家介绍。设置好后点击next下一步,然后点击Finish完成J2ME Polish工程的创建

这时候,Polish工程就创建完毕了,我们会在左侧的工程区域中看到创建好的工程文件HelloPolish。

其中的com.polish.learning包以及包中的PolishHello.java文件就是我们刚才勾选Generatetemplate?选项后设置的。打开PolishHello.java文件,我们会看到自动生成的一段代码:

接下来,我们在PolishHello.java文件中,输入如下程序段:
 

  1. viewplaincopytoclipboardprint?  
  2. ·········10········20········30········40········50········
  3. 60········70········80········90········
  4. 100·······110·······120·······130·······140·······150  
  5.  
  6. packagecom.polish.learning;  
  7.  
  8. importjavax.microedition.lcdui.Display;  
  9. importjavax.microedition.lcdui.Form;  
  10. importjavax.microedition.lcdui.StringItem;  
  11. importjavax.microedition.midlet.MIDlet;  
  12. importjavax.microedition.midlet.MIDletStateChangeException;  
  13.  
  14. importde.enough.polish.util.Locale;  
  15.  
  16. publicclassPolishHelloextendsMIDlet{  
  17.  
  18. privateFormmyScreen;  
  19. privateDisplaydisplay;  
  20.  
  21. protectedvoidstartApp()throwsMIDletStateChangeException{  
  22. //TODO:Implementthismethod.  
  23. this.myScreen=newForm(null);  
  24. //#stylestringItem  
  25. StringItemhelloPolishItem=newStringItem(null,"HelloPolish!");  
  26. this.myScreen.append(helloPolishItem);  
  27.  
  28. this.display=Display.getDisplay(this);  
  29. this.display.setCurrent(this.myScreen);  
  30. }  
  31.  
  32. protectedvoidpauseApp(){  
  33. //TODO:Implementthismethod.  
  34. }  
  35.  
  36. protectedvoiddestroyApp(booleanunconditional)
  37. throwsMIDletStateChangeException{  
  38. //TODO:Implementthismethod.  
  39. }  
  40. }  
  41. packagecom.polish.learning;  
  42. importjavax.microedition.lcdui.Display;  
  43. importjavax.microedition.lcdui.Form;  
  44. importjavax.microedition.lcdui.StringItem;  
  45. importjavax.microedition.midlet.MIDlet;  
  46. importjavax.microedition.midlet.MIDletStateChangeException;  
  47. importde.enough.polish.util.Locale;  
  48. publicclassPolishHelloextendsMIDlet{  
  49. privateFormmyScreen;  
  50. privateDisplaydisplay;  
  51.  
  52. protectedvoidstartApp()throwsMIDletStateChangeException{  
  53. //TODO:Implementthismethod.  
  54. this.myScreen=newForm(null);  
  55. //#stylestringItem  
  56. StringItemhelloPolishItem=newStringItem(null,"HelloPolish!");  
  57. this.myScreen.append(helloPolishItem);  
  58.  
  59. this.display=Display.getDisplay(this);  
  60. this.display.setCurrent(this.myScreen);  
  61. }  
  62. protectedvoidpauseApp(){  
  63. //TODO:Implementthismethod.  
  64. }  
  65. protectedvoiddestroyApp(booleanunconditional)
  66. throwsMIDletStateChangeException{  
  67. //TODO:Implementthismethod.  
  68. }  

#p#在“resource”的文件夹下新建两个文件,一个是“polish.css”文件,并在“polish.css”文件中输入以下CSS样式代码: 

  1. viewplaincopytoclipboardprint?  
  2. .stringItem{  
  3. margin-top:2;  
  4. padding:2;  
  5. padding-left:5;  
  6. font{  
  7. color:black;  
  8. size:medium;  
  9. style:bold;  
  10. }  
  11. layout:left;  
  12. }  
  13. .stringItem{  
  14. margin-top:2;  
  15. padding:2;  
  16. padding-left:5;  
  17. font{  
  18. color:black;  
  19. size:medium;  
  20. style:bold;  
  21. }  
  22. layout:left;  
  23. }  

 然后为了可以顺利的运行,我们需要稍稍改动一下build.xml中的设置,在build.xml文件中找到 

  1. viewplaincopytoclipboardprint?  
  2. <jad> 
  3. <attributenameattributename="Nokia-MIDlet-Category"
  4. value="Game"if="polish.group.Series40"/> 
  5. </jad> 
  6. <jad> 
  7. <attributenameattributename="Nokia-MIDlet-Category"
  8. value="Game"if="polish.group.Series40"/> 
  9. </jad> 

 在<jad>标签内加入一句,变成这样 

  1. viewplaincopytoclipboardprint?  
  2. <jad> 
  3. <attributenameattributename="Nokia-MIDlet-Category"value="
  4. Game"if="polish.group.Series40"/> 
  5. <attributenameattributename="MIDlet-1"
  6. value="HelloPolish,,com.polish.learning.PolishHello"/> 
  7. </jad> 
  8. <jad> 
  9. <attributenameattributename="Nokia-MIDlet-Category"
  10. value="Game"if="polish.group.Series40"/> 
  11. <attributenameattributename="MIDlet-1"
  12. value="HelloPolish,,com.polish.learning.PolishHello"/> 
  13. </jad> 

 ***,我们来运行,在PolishHello.java上点击右键,在弹出的菜单上选择【RunAs】->再在右边选择【J2ME PolishMIDlet】;可能此时会碰到几种运行时的问题

1.控制台中提示

  1. com.sun.tools.javac.Mainisnotontheclasspath.  
  2. PerhapsJAVA_HOMEdoesnotpointtotheJDK 

在网上查了很多的解决办法都比较麻烦,这里有一种简单的方法,就是
Trycopyingtools.jarfromjava\jdk1.6.0_11\libtojava\jre6\lib,将jdklib目录下的tools.jar文件直接拷贝到jre的lib目录中,然后关闭Eclipse再重新打开运行工程文件,上述问题便会得到解决。

2.【注意】:在<jad>标签内加入的那句话一定要书写正确,尤其是value中的值:

value="HelloPolish,,com.polish.learning.PolishHello",首先是这个J2ME Polish的工程文件名,然后是刚刚在创建Polish时Generatetemplate?选项中的设置的包名和主类名(不用加后缀.java),这两个之间有两个英文的逗号,这两个逗号可一个都不能少,不然会出现问题。至少本人当初设置时因为少了一个逗号,运行时出现了HelloPolish,nullException:java.lang.NullPointerException的异常,希望大家注意!

【编辑推荐】

  1. 畅谈J2ME Polish的使用
  2. 深入探究cookie技术在J2ME平台的应用与实现
  3. 探究J2ME中cookie库的管理
  4. Eclipse中进行JVM内存设置
  5. 解析Linux下如何用eclipse搭建J2ME开发环境

 

责任编辑:佚名 来源: phpfans.net
相关推荐

2010-09-30 11:11:07

J2ME

2010-09-30 09:56:26

J2ME Polish

2010-09-30 13:06:33

Myeclipse J

2010-09-29 08:57:04

J2ME前景

2009-06-10 16:27:54

Eclipse调试J2

2010-09-29 14:54:34

J2MEHashtable

2010-09-29 10:46:11

J2MEKVM

2009-03-12 10:22:27

EclipseJ2MEJDT

2010-10-09 15:07:09

J2MEWeb服务

2010-09-29 09:19:39

J2ME开发工具

2009-07-14 18:03:43

Myeclipse J

2010-09-30 11:32:08

NetBeansJ2ME

2010-09-29 09:59:22

J2ME配置

2010-09-30 09:37:57

LinuxJ2ME

2009-03-22 09:38:03

Android移植J2ME

2010-09-30 13:28:55

J2ME图形

2009-06-23 11:30:16

RMSJ2ME

2009-06-08 21:34:09

J2EEJ2SEJ2ME

2010-09-29 13:50:31

J2MEJ2SE

2009-07-09 16:06:10

JDK J2EE J2
点赞
收藏

51CTO技术栈公众号