wm对kjava本身未提供原生的支持,经过测试客户这边选择的是jmm。 但是今天碰到2个兼容问题,确切的说应该是jmm的问题。

1. jad文件属性读取的问题

在wm手机上总是读取不正确,有些机型可以,有些机型不可以,而且都是wm 6+ jmm这样的搭配。感觉到超奇怪,开始以为是已读取的旧属性被存储到rms中未正确删除,多次测试以后突然想起来是否是jad文件的问题。
测试了一下,果然,jmm允许使用jar或者jad的方式安装,如果使用jar安装jmm并不会自动去读取同目录下和jar同名的jad文件属性,而是读取jar中的manifest文件。缺省eclipseMe的打包会把jad文件属性打入manifest,自然就永远读不到jad文件中的属性了。
而在nokia、索爱和moto上则没这个问题。

在wm上jad和jar的后缀并不显示,比较容易搞错。

2. form中item的选中事件

在其他型号手机上正确,在wm上不会触发, 想起来以前item的属性是BUTTON方式的, 后来按用户要求改成HYPERLINK,
测试以后果然是此问题。

    super(null, doc.isSelected() ? checkedImg : boxImg,
                ImageItem.LAYOUT_LEFT 
        
| ImageItem.LAYOUT_SHRINK
                        
| ImageItem.LAYOUT_TOP
                        
| ImageItem.LAYOUT_NEWLINE_BEFORE
                        
| ImageItem.LAYOUT_NEWLINE_AFTER
                        , doc.getTime() 
+ " "
                        
+ doc.getFrom(), Item.BUTTON);
//        + doc.getFrom(), Item.HYPERLINK);
        
        
this.doc = doc;
        setDefaultCommand(CMD_EDIT);
        
this.setItemCommandListener(this);
    

wm上还是老实用c#或者c++开发最好,否则找问题都烦死了。