J2ME 怎样打包
用eclipse写的手机小程序,在编译器中运行正常运行,怎样能让他独立出来在模拟器或手机上运行。
deployed,这个文件夹下是什么,jar和jad文件,是已经打包好的jar文件吗?为什么这个在模拟器下不能运行?
.eclipseme.tmp\emulation文件夹下也有jar和jad文件,与deployed下的有什么不同。
.eclipseme.tmp\verified文件夹下有.class 文件,bin下有相同的.class 文件,有什么不同。
------解决方案--------------------.eclipseme.tmp\emulation这下面的是能运行起来的jad和jar.是模拟器能运行的.或者你用WTK直接打包.这样比较专业.呵呵.
或者你用JBuilder的打包功能.也很好.但要记住添加res图片资源.这样就没问题了..Eclipse的打包有一点麻烦.
------解决方案--------------------我也和你遇到了一样的图片问题,求教
------解决方案--------------------的我jad文件直接就能运行..
------解决方案--------------------eclipse的图片要放在根目录下,放在res下也可以,但是要修改工程文件,怎么修改我就不知道了
------解决方案--------------------
如果你的工程的名字叫:Demo,你的MIdlet类叫DemoMidlet.
(1)先要配置添加jad里面的jar路径:在Demo工程下面会有一个Demo.jad,双击,然后单击下面选页的项:Midlets.
然后点击右边的"add"回给一个默认的jar的Name, 你可以修改或不修改,在class下面的单击会有选框,选则你的Midlet类:DemoMidlet,然后关闭页面保存.
(2)右击你的项目的名字,然后选J2ME的二级菜单->Create Package.
(3)在你的C盘的workspace目录的下面的项目Demo文件下的deployed下面就能找到并打开该Jar了.
------解决方案--------------------
eclipse下打包其实一点也不难,不知道为什么很多人觉得麻烦。
1、选择项目名称,单击右键,选择“J2ME”>>"Create Package"(如果你有混淆器,配置好后,可以选择“Create Obfuscated Package”)进行打包。如果选择的混淆,请注意代码不要出现如死循环之类的不规范的地方,否则打包时容
易失败。
2、如果项目是初次打包,就需要配置一些东西。可以看到在deployed文件夹之外,也就是项目文件夹中有一个单独的JAD文件,在Eclipse中选择它,并双击打开,在“MIDlets”项中“Add”一条新数据,选择好项目中MIDlet类的路径保存好,再把deployed文件夹中的JAD配置得与此JAD一致就行了。
3、其实即使没有配置项目文件夹下的JAD,一样能运行,只是为了调试程序在真机上的运行效果,一般都会反复打包,但如果没有配置项目文件夹下的JAD,当你再次打包项目时,所以更改的信息都会被还原,那样的话,你打包一次,就要配置一次,非常麻烦……
以上就是用eclipse打包项目的全部过程,看起来多,其实一点都不麻烦,和调试的过程比起来,根本不算啥,大家一起加油哈!!
------解决方案--------------------关于你提出的找不到图片的问题,EC中的打包方法我已经回复你了,如果你用EC打包的话,你的图片文件应该是放在src文件夹下,而不是res,当然你可以建一个如下路径:src/res/image/title.png 这样你在类里的写法就应该是:“Image title = Image.createImage("/res/image/title.png");”,这样在打包以后就可以找到图片了。
呵呵,消息发出后才注意到你没在线,本来大家都在等回复,还想和你聊聊的,无聊ING…………………………
------解决方案--------------------
打包方法:
使用Ant对J2me程序打包
http://pandonix.javaeye.com/blog/110985
Antenna与j2me打包
http://www.javaeye.com/post/364587
加载图片问题
在J2ME游戏编写过程中,制作欢迎界面是常见的工作,下面就系统的介绍一下欢迎界面的制作。
欢迎界面在制作的时候一般有两种实现方式:
1、 按任意键进入系统的主界面。
2、 等待n秒(n<6)以后自动进入主界面
实现的代码分别如下:
//实现按任意键进入主界面
import javax.microedition.lcdui.*;
public class WelcomeCanvas extends Canvas{
//背景图片
Image bgImage = null;
Display display;
public WelcomeCanvas(Display display){
this.display = display;
//导入图片
try{
bgImage = Image.createImage("/res/welcome.png");
}catch(Exception e){
Alert a = new Alert("错误","资源文档不存在!",null,AlertType.ERROR);
a.setTimeout(Alert.FOREVER);
//显示提示框
display.setCurrent(a);
}
}
protected void paint(Graphics g) {
//绘制背景图片
g.drawImage(bgImage,0,0,Graphics.TOP | Graphics.LEFT);
}
protected void keyPressed(int keyCode){
//显示需要显示的界面
display.setCurrent(new MainList());
}
}
//实现等待5秒以后自动进入主界面
import javax.microedition.lcdui.*;
public class WelcomeCanvas extends Canvas implements Runnable {
//背景图片
Image bgImage = null;
Display display;
public WelcomeCanvas(Display display){
this.display = display;
//导入图片
try{