首 页 | 新 闻 | 技术中心 | 第二书店 | 《程序员》 | 《开发高手》 | 社 区 | 黄 页 | 人 才
移 动专 题SUNIBM微 软微 创精 华Donews人 邮
我的技术中心 
我的分类 我的文档
全部文章 发表文章
专栏管理 使用说明



 RSS 订阅 
最新文档列表
Windows/.NET
.NET  (rss)    
Visual C++  (rss)    
Delphi  (rss)    
Visual Basic  (rss)    
ASP  (rss)    
JavaScript  (rss)    
Java/Linux
Java  (rss)    
Perl  (rss)    
综合
其他开发语言  (rss)    
文件格式  (rss)    
企业开发
游戏开发  (rss)    
网站制作技术  (rss)    
数据库
数据库开发  (rss)    
软件工程
其他  (rss)    

积极原创作者 
tellmenow (22)
cutemouse (22)
softj (78)
iiprogram (69)
qdzx2008 (50)
goodboy1881 (14)
wangchinaking (58)
fancyhf (1)
harrymeng (41)
yjz0065 (113)
CSDN - 文档中心 - Java 阅读:1876   评论: 0    参与评论
标题   J2ME学习笔记(三)     选择自 sino_reason 的 Blog
关键字   J2ME学习笔记(三)
出处  

   从今天开始我想我会有很长一段时间不会涉及真正的实际开发,这一段时间主要集中在基础的学习之

上。呵呵,不会走,我哪敢跑那?不过主要是因为暂时不用赶着给兄弟作东西,所以想好好学习一下。不

过代码肯定还是会写一些的。毕竟,多写代码才能更快的学习^_^

   呵呵,一步一步开始手机开发之旅途了。不知道我能不能坚持把这一块学完,因为公司工作压力也很

大。平时基本上没有休息,周末也还有一堆事情要做。所以也是很苦闷的一个方面。呵呵。尽力好了。一

直作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:\midp\classes;. -bootclasspath F:\midp\classes %1

-bootclasspath这个参数我也是第一次用,应该是控制编译第时候控制只使用所制定目录下第基类吧。如

果不使用此参数那么有可能你写的程序可以PC上运行,但是不能在支持MIDP的手持设备上运行。

然后在dos下转到f:\midp下运行  midjavac HelloMIDlet

第三步:预先审核
同样,我在f:\midp下建立了midver.bat文件用来进行预审核。

F:\midp\bin\preverify -classpath F:\midp\classes;. -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:\midp\bin\midp -classpath F:\midp\classes;%1 -descriptor %2

在dos下运行:midjartest HelloMIDlet.jar HelloMidlet.jad
呵呵,应该看到运行情况了吧?!
如果你发现ALERT: Error verifying class HelloMIDlet
这么一个错误那就是你的程序没有经过预审核哦^_^

第七步:呵呵,如果有手持设备就自己传上去试试看看咯。如果没有那就只有在模拟器上运行了。。对了

,如果在模拟器上运行第话应该不用合成jar文件。

呵呵,其实这些东西都很基础,我完全可以装一个nokia或者moto的模拟器,然后只用在jb上装上mobiles

et,然后画一个插件就可以搞定。我之所以要用这么复杂(汗ing。。自己写的时候都有些不耐烦)的步

骤来完成如此简单的步骤,其实就是为了更好的理解手机程序的完成原理而已。


相关文章
对该文的评论