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++開發最好,否則找問題都煩死了。