深入了解J2ME Polish Eclipse配置过程
创始人
2024-07-15 09:21:31
0

本文和大家重点讨论一下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.  
  3. value="Game"if="polish.group.Series40"/> 
  4.  
  5.  
  6. value="Game"if="polish.group.Series40"/> 
  7.  

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

  1. viewplaincopytoclipboardprint?  
  2.  
  3. Game"if="polish.group.Series40"/> 
  4. value="HelloPolish,,com.polish.learning.PolishHello"/> 
  5.  
  6.  
  7. value="Game"if="polish.group.Series40"/> 
  8. value="HelloPolish,,com.polish.learning.PolishHello"/> 
  9.  

 ***,我们来运行,在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.【注意】:在标签内加入的那句话一定要书写正确,尤其是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开发环境

 

相关内容

热门资讯

如何允许远程连接到MySQL数... [[277004]]【51CTO.com快译】默认情况下,MySQL服务器仅侦听来自localhos...
如何利用交换机和端口设置来管理... 在网络管理中,总是有些人让管理员头疼。下面我们就将介绍一下一个网管员利用交换机以及端口设置等来进行D...
施耐德电气数据中心整体解决方案... 近日,全球能效管理专家施耐德电气正式启动大型体验活动“能效中国行——2012卡车巡展”,作为该活动的...
Windows恶意软件20年“... 在Windows的早期年代,病毒游走于系统之间,偶尔删除文件(但被删除的文件几乎都是可恢复的),并弹...
20个非常棒的扁平设计免费资源 Apple设备的平面图标PSD免费平板UI 平板UI套件24平图标Freen平板UI套件PSD径向平...
德国电信门户网站可实时显示全球... 德国电信周三推出一个门户网站,直观地实时提供其安装在全球各地的传感器网络检测到的网络攻击状况。该网站...
着眼MAC地址,解救无法享受D... 在安装了DHCP服务器的局域网环境中,每一台工作站在上网之前,都要先从DHCP服务器那里享受到地址动...
为啥国人偏爱 Mybatis,... 关于 SQL 和 ORM 的争论,永远都不会终止,我也一直在思考这个问题。昨天又跟群里的小伙伴进行...