用Eclipse做J2Me开发的前期配置

 
我也是一个初学者,从一个初学者的角度上讲,就是要尽可能的详细,因为这个东西稍微配置不对,或者是那里没有注意到,就会走不少的弯路,所以我在这里把配置讲得非常的详细,以图文的形式展示,以免你看了不知道所去。从搞通到把这篇文章搞好,共花了三个小时的时间,我相信这篇文章能够给你节省两个小时的时间。
1、 我现在下载的MTJ(Mobile Tools for Java Platform)0.7,Eclipse的版本是3.2,JDK的版本是6.0
2、 下载一些必要的软件:
以上信息可以在这里查看: http://download.eclipse.org/dsdp/mtj/downloads/drops/R-0.7-200611231518/index.html ,这里还可以看到 NOKIA 手机开发包的地址。
3、将如图示的软件全部解压:
      
       还有一个MIDP,也可以下载下来。我这里没有列出来。
       所有的包解压出来后全部拷贝到eclipse包里直接覆盖。
4、安装JDK,配置path、classpath,也可以增加JDK_HOME(JDK的安装根目录)及JAVA_HOME(JRE的安装根目录)。
5、启动ECLIPSE。
1)、创建新工程:
这里选择ME工程
2)、 输入任意工程名,这里以MyFirstME为例
3)、 选择运行平台,就是你的手机程序要运行在什么样的平台上。刚开始的时候,因为没有人指导, 
一直不知道是什么意思,东试试,西试试。这里应该点周下面的
或者是从它指示的路径进去设置也可以,此时弹出下面对话框:
此时点击运行平台右边的“ADD”,出现平台选择对话框:
点击“Import…”,会出现像文件选择那样的对话框,此时将其选择到你的WTK的安装根目录,点确定,此时会出现导入过程,成功后该界面会显示为如下,名字和描述用户自己输入,主要是用户自己好区别,这里我的名字就取为:WTK_2.5_Runtime,描述就为:Sun Java(TM) Wireless Toolkit2.5.1 for CLDC
点击OK。些时运行平台界面就如下,可以看到我们增加的平台。
点击OK。
  
此时,回到创建工程页面,点击工程选择下拉框,选择我们刚开始加入的运行平台,如下图:
点击点击“NEXT”,进入到如下界面:
点击“Order and Export”面板,然后再点下一步,出现如下界面:
把那个使用模板创建JAVA ME工程的勾上,因为这里我们要用他的该示例,也首先体验一下花费了这么多时间的J2ME味道吗,点击“Finish”。
我们回到Eclipse页面,展开刚才的那个示例,去发现是这样的情况:
为什么会有这么多的错误呢, JAVA 里面明明有 java.awt 这些包的呀,为什么这里不能够访问呢,说找不到包。刚开始的时候,我以为是我的 path classpath JDK_HOME 或者是 JAVA_HOME 配置出问题,于是乎反复检查,并且还重新配置,运行其它的程序都能够正常运行,但是把 ECLIPSE 关掉重启还是这样,再把开我专于用于 J2EE ECLIPSE ,去试着导入该包,说明是成功。这里不行,那说明是这里的配置出了问题,于是在点右键在该工程 
上,选择属性,进行如下界面:
 而我在用于J2EE开发的ECLIPSE里面看到的却是这样的:
在上面的图中却没有看到 JRE System Libraay[jre1.6.0_02],居然这里ECLIPSE用我现在J2ME环境,取代了J2SE运行的JRE,难怪找不到AWT包,此时点击
弹出如下界面:
将JRE System Library选上,点击NEXT,出现如下界面:
点击FINISH。此时可以在Library选项中多了JRE运行项:
当前页面点击OK,此时,可以看到示例类文件中只有一个错误提示了,如下:
这里显示可以看出new的类名与本身类名不符,将 new HelloWorld().openWindow();改为:
new Hello_World_PPRO().openWindow();现在完全没有错误提示,于是运行该程序,这里我是按JAVA方式运行的,出现如下界面:
说明已经成功了。
我这里想试一下,该程序是否可以运行像手机示例程序那样运行,我于是点RUN(运行)配置,我选择“MTJ Application”,出现如下图:
提示没有选择可执行的,此时点击executable右边的“search。。。”,出现如下图:
我选择第一个“GraphicalInstaller”,点OK
回到前面页面,点击“Apply”应用,再点Run,抛出异常如下:
我再对RUN进行配置,又回到上面的“Choose Executable”界面,选择第二项“Manager”,再提交,再运行,此时手机界面闪了一下,马上就不见了,还是出现异常。
我再试,此次选择“ PersistentSelector”,再保存、运行,此时出现了手机界面,在没有点击手键的时候,也没有出现异常,不过,手机界面上没有出现“Hello World”字样,只有一个 
空手机,如下图:
点击画了红色的地方,把数组越界异常。
我再选择最后一个“Selector”,运行效果和上面一样,也没有Hello world字样。
最终我还是没有把这个“Hello World ”运行显示在手机界面上,不知道是问题出在什么地方了,请高手指定,如果我以后把问题找出来了,我会补上。
  • 0
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 9
    评论
以下是一个简单的 J2ME 代码示例,演示了如何使用 J2ME 编写一个无线智能终端: ```java import javax.microedition.midlet.*; import javax.microedition.lcdui.*; import javax.microedition.io.*; import java.io.*; public class WirelessClient extends MIDlet implements CommandListener { private static final String SERVER_URL = "socket://192.168.0.1:9999"; // 服务器地址和端口号 private Display display; private Form mainForm; private Command exitCommand; private Command sendCommand; private TextField messageField; private StringItem responseItem; private SocketConnection socketConnection; private InputStream inputStream; private OutputStream outputStream; public void startApp() { // 创建显示器 display = Display.getDisplay(this); // 创建主界面 mainForm = new Form("Wireless Client"); // 创建消息输入框和发送按钮 messageField = new TextField("Message", "", 100, TextField.ANY); sendCommand = new Command("Send", Command.OK, 0); mainForm.append(messageField); mainForm.addCommand(sendCommand); // 创建响应结果显示区域和退出按钮 responseItem = new StringItem("", ""); exitCommand = new Command("Exit", Command.EXIT, 0); mainForm.append(responseItem); mainForm.addCommand(exitCommand); // 显示主界面 display.setCurrent(mainForm); // 建立与服务器的连接 try { socketConnection = (SocketConnection) Connector.open(SERVER_URL); inputStream = socketConnection.openInputStream(); outputStream = socketConnection.openOutputStream(); } catch (IOException e) { e.printStackTrace(); } } public void pauseApp() {} public void destroyApp(boolean unconditional) { // 关闭与服务器的连接 try { inputStream.close(); outputStream.close(); socketConnection.close(); } catch (IOException e) { e.printStackTrace(); } } public void commandAction(Command command, Displayable displayable) { if (command == exitCommand) { // 退出应用程序 destroyApp(true); notifyDestroyed(); } else if (command == sendCommand) { // 发送消息给服务器 String message = messageField.getString(); try { outputStream.write(message.getBytes()); outputStream.flush(); // 读取服务器响应 byte[] buffer = new byte[1024]; int len = inputStream.read(buffer); if (len != -1) { String response = new String(buffer, 0, len); responseItem.setText(response); } } catch (IOException e) { e.printStackTrace(); } } } } ``` 这个示例代码实现了一个简单的 J2ME 客户端,该客户端连接到指定的服务器地址和端口号,并可以发送消息到服务器并接收服务器的响应。具体的协议内容处理部分需要根据实际应用情况进行编写。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 9
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值