WTK中四种ps2模拟器器名称及功能. 要详细点的

eclipse开发J2me时候用到的模拟器KEmulator配置 - JUST CODE IT - ITeye技术网站
博客分类:
& 用eclipse开发手机软件,尤其是J2me开发的时候,可以用到两种模拟器,一种是wtk,一种是KEmulator。WTK比较慢一些,日子长了会受不了的。。。。漫长的等待。。。所以配置好KEmulator后使用还是很方便的。
&
& 下面介绍KEmulator在eclipse中的配置。
&
1.右键点击java程序,选择Java Build Path选项,选中右边的Libraries选项卡,点击右边的Add External JARS...添加进KEmulator.jar包。
2.点击Order and Export选项卡,选中KEmulator.jar包,点击右边的up,一直移动到J2ME library上面。
3.点击ok。
4。右键程序选择--Run as ---Run Configurations,找到Java Application,右键--new。获得一个新的New_configyration.
5.在New_configurations选项卡中,默认选项卡是Main选项卡。在Main class框中点击右边的Search选中Emulator - emulator,点击ok。
6.点击(X)=Arguments选项卡,在Program arguments下面的框中写入:
-cp bin
-midlet 程序启动类名称。
7.注意:程序启动类名称是要全面的。连带着包的,例如:com.XXX.business.XXX
8.然后点击Run就可以了。当然程序中不要有错误,即不要有红X。
浏览: 130557 次
来自: 北京
好东西!!!
豌豆荚害死人啊
有用,我试过了
onChildClick中if(groupPosition== ...
天杀的豌豆荚!害我半天工作不了!!System.out.println(this.hasPointerEvents()); //模拟器是否支持触点事件
一般的没有经过配置的模拟器均输出为:false
解决方法:
按照如下路径:
WTK2.5.2_01/wtklib/devices/DefaultColorPhone
DefaultColorPhone.properties
找到touch_screen属性修改为:
touch_screen=true
测试代码:
import javax.microedition.lcdui.C
import javax.microedition.lcdui.G
public class MyCanvas extends Canvas{
public MyCanvas(){
//System.out.println(this.hasPointerEvents()); //模拟器是否支持触点事件
this.setFullScreenMode(true);
protected void paint(Graphics arg0) {
protected void pointerPressed(int x,int y){
System.out.println(this.getHeight());
System.out.println(this.getWidth());
System.out.println("press ("+x+","+y+")"); // 打印触点坐标
import javax.microedition.lcdui.D
import javax.microedition.midlet.MID
import javax.microedition.midlet.MIDletStateChangeE
public class Main extends MIDlet {
public static M
public Main() {
// TODO Auto-generated constructor stub
display = Display.getDisplay(this);
protected void destroyApp(boolean arg0) throws MIDletStateChangeException {
// TODO Auto-generated method stub
protected void pauseApp() {
// TODO Auto-generated method stub
protected void startApp() throws MIDletStateChangeException {
// TODO Auto-generated method stub
display.setCurrent(new MyCanvas());
//System.out .println("start app..........................");
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:15120次
排名:千里之外
原创:20篇
(2)(1)(3)(2)(2)(9)(2)(3)(1)一个J2ME类导致wtk模拟器异常退出问题 - Funs of thinking. - ITeye技术网站
博客分类:
前几天刚发现一个,今天又碰到一个问题。
快下班的时候经理走到我的工位边上,扫了一下我的屏幕(当时我正在为了周末不加班而努力coding),然后很镇定地对我问我:你这个问题快完了吧? 我赶紧回答:是啊,马上了。(搞定了就能下班了哇,心中暗喜,以为有什么好事) 。 “那好吧,再给你一个问题,你去把这个xx问题解决一下,中间省去若干xx问题的描述,哦,对了,这个问题尽快解决啊,今天弄完,周末就不用加班了”。& 我顿时感觉被xx了一下,故作清醒之后,不得不应声:哦。行吧。没问题,我尽快解决。 于是我看着经理离去的背影,怀着xx的心情来解决这个问题。
幸好,老天还算有眼,让我能过一个好点得周末,跟了快两个小时的bug,锁定了问题代码,并且稀里糊涂得解决了。
一些过程和结果是这样的:
xx问题是这个程序不能在一些手机和wtk模拟器上工作。在手机上不能跟bug,因为根本打印不出来日志。程序运行在模拟器上时,会抛出一个系统错误(windows错误对话框那种弹出来),告知我zayit.exe发生错误,然后模拟器崩溃退出。错误画面:
查看错误的其它信息:
我启动debugger进行调试,一步一步确定问题位置,最后发现,问题出在下面一段代码上(List 1):
public class Conversation{
private String mId = "";
public Conversation(){
synchronized(mId){
mId = String.valueOf(System.currentMilliSenconds());
Thread.sleep(50); //线程休眠50,是防止有些手机忽略了很短得System.currentMilliSenconds()间隔,导致mId重复,因为可能会在很短时间内创建多个这个类的实例,且要保证mId唯一
catch(InterruptException e)
// do something
发现问题在这里之后,我尝试修改这段代码。我将构造器改造成这样(List 2):
public Conversation(){
mId = String.valueOf(System.currentMilliSenconds());
然后编译运行,yes, 在wtk模拟器上能工作了。但是我仍旧不知道为什么。
于是我又对代码进行了修改,这次得代码跟List 1中的代码基本是一致的,只修改了一下部分(List 3)
private String mId = new String();
然后编译运行,依然可以在模拟器上运行,可是我还是不知道为什么。
并且修改之后,在之前那些不能运行的手机上也能运行了。另外一点是,原始的代码在KEmulator上运行正常,看来KE的兼容性还真很好,不过做兼容的程序兼容性太好也不见得是啥好事啊 。
后来仔细考虑了一下,这个synchronize块的确是错误的,是不应该有的,因为即使同时创建多个对象而导致mId产生竞争,那就让竞争着去吧,而不是导致抛出系统级的错误并且模拟器异常退出。所以有点怀疑是String类内部引用分配导致这个问题。
不知道大家有什么看法?
论坛回复 /
(1 / 1786)
浏览: 62049 次
来自: 北京
谢谢 lz的解释。。受教了,正在搞dmc
楼主,可不可以共享代码啊。 看代码才能理解啊
很有兴趣就是不知道怎么做
学习了。。
写的不错,赞一个,支持楼主Nokia7210 的模拟器为何比WTK中缺省的模拟器执行速度慢?
[问题点数:60分,结帖人AOM]
Nokia7210 的模拟器为何比WTK中缺省的模拟器执行速度慢?
[问题点数:60分,结帖人AOM]
不显示删除回复
显示所有回复
显示星级回复
显示得分回复
只显示楼主
相关帖子推荐:
本帖子已过去太久远了,不再提供回复功能。}

我要回帖

更多关于 ps2模拟器设置 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信