免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1020 | 回复: 0
打印 上一主题 下一主题

★(转)J2ME学习笔记(三) [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2005-03-21 15:30 |只看该作者 |倒序浏览

从今天开始我想我会有很长一段时间不会涉及真正的实际开发,这一段时间主要集中在基础的学习之
上。呵呵,不会走,我哪敢跑那?不过主要是因为暂时不用赶着给兄弟作东西,所以想好好学习一下。不
过代码肯定还是会写一些的。毕竟,多写代码才能更快的学习^_^
   呵呵,一步一步开始手机开发之旅途了。不知道我能不能坚持把这一块学完,因为公司工作压力也很
大。平时基本上没有休息,周末也还有一堆事情要做。所以也是很苦闷的一个方面。呵呵。尽力好了。一
直作web也不是办法,呵呵,多学一点说不定以后用得着。毕竟手持设备是未来的一个发展趋势。
   我学习的时候就是用的sun官方的MIDP实例。各位可以自己去下。我选择的是MIDP_2.0 的参考源码。
 
   写一个MIDlet能在实际的设备或者模拟器上执行需要如下几个步骤:
   1、编写程序代码
   2、编译
   3、预先审核(Preverify)这一步很重要,因为很多类PC上安装的J2SE支持,但是实际的J2ME并不支 
    持。
   4、编写描叙文档
   5、合成JAR文件
   6、测试排错
   7、在模拟器或者实体机器上运行。
    
   ok
  
我来开始编写一个简单的例子,从代码编写开始一直完成最终的这7个步骤。(这个例子是依托与MIDP_2.
0中某些已经定义好的接口来进行的,所以我将此程序放在我所解压的MIDP根目录:f:midp下。)
第一步,编写代码:
import javax.microedition.midlet.*;
import javax.microedition.lcdui.*;
public class HelloMIDlet extends MIDlet implements CommandListener{
 private Command exitCommand;
 private Display display;
 public HelloMIDlet(){
  display = Display.getDisplay(this);
  exitCommand = new Command("Exit", Command.SCREEN, 2);
 }
 public void startApp(){
  TextBox t = new TextBox("Hello MIDlet", "Test string", 256, 0);
  t.addCommand(exitCommand);
  t.setCommandListener(this);
  display.setCurrent(t);
 }
 public void pauseApp(){}
 public void destroyApp(boolean unconditional){}
 public void commandAction(Command c, Displayable s){
  if (c == exitCommand){
  destroyApp(false);
  notifyDestroyed();
  }
 }
}
第二步:编译
我在f:midp下建立了一个midjavac.bat文件专门用来编译
javac -g:none -classpath F:midpclasses;. -bootclasspath F:midpclasses %1
-bootclasspath这个参数我也是第一次用,应该是控制编译第时候控制只使用所制定目录下第基类吧。如
果不使用此参数那么有可能你写的程序可以PC上运行,但是不能在支持MIDP的手持设备上运行。
然后在dos下转到f:midp下运行  midjavac HelloMIDlet
第三步:预先审核
同样,我在f:midp下建立了midver.bat文件用来进行预审核。
F:midpinpreverify -classpath F:midpclasses;. -d %1 %2
在dos下转到midp文件夹,运行  midver test HelloMIDlet
如果预审核通过那么就会在f:midp下建立一个文件夹test,将预审核通过第类放入其中。
这个时候其实我们写的程序就可以在模拟器上运行了。
第四步:编写描叙文档
文件名:HelloMIDlet.jar
MIDlet-Name: HelloWorld
MIDlet-Version: 1.0.0
MIDlet-Vendor: Sun Microsystems, Inc.
MIDlet-Description: Sample Hello World MIDlet
MIDlet-Info-URL:
http://java.sun.com/j2me/
MIDlet-Jar-URL:
http://127.0.0.1/HelloMIDlet.jar
MIDlet-Jar-Size: 1020
MicroEdition-Profile: MIDP-1.0
MicroEdition-Configuration: CLDC-1.0
MIDlet-1: HelloWorld,, HelloMIDlet
第五步:合成jar文件
编制一个midjar.bat 文件
jar -cfm %1 %2 -C .\%3 .
运行:midjar HelloMIDlet.jar HelloMIDlet.jad HelloMidlet
第六步:测试排错
写一个midjartest.bat文件
F:midpinmidp -classpath F:midpclasses;%1 -descriptor %2
在dos下运行:midjartest HelloMIDlet.jar HelloMidlet.jad
呵呵,应该看到运行情况了吧?!
如果你发现ALERT: Error verifying class HelloMIDlet
这么一个错误那就是你的程序没有经过预审核哦^_^
第七步:呵呵,如果有手持设备就自己传上去试试看看咯。如果没有那就只有在模拟器上运行了。。对了
,如果在模拟器上运行第话应该不用合成jar文件。
呵呵,其实这些东西都很基础,我完全可以装一个nokia或者moto的模拟器,然后只用在jb上装上mobiles
et,然后画一个插件就可以搞定。我之所以要用这么复杂(汗ing。。自己写的时候都有些不耐烦)的步
骤来完成如此简单的步骤,其实就是为了更好的理解手机程序的完成原理而已。


本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u/5142/showart_16872.html
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP