笔记
从今天开始我想我会有很长一段时间不会涉及真正的实际开发,这一段时间主要集中在基础的学习之
上。呵呵,不会走,我哪敢跑那?不过主要是因为暂时不用赶着给兄弟作东西,所以想好好学习一下。不
过代码肯定还是会写一些的。毕竟,多写代码才能更快的学习^_^
呵呵,一步一步开始手机开发之旅途了。不知道我能不能坚持把这一块学完,因为公司工作压力也很
大。平时基本上没有休息,周末也还有一堆事情要做。所以也是很苦闷的一个方面。呵呵。尽力好了。一
直作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。。自己写的时候都有些不耐烦)的步
骤来完成如此简单的步骤,其实就是为了更好的理解手机程序的完成原理而已。