`
xzknet
  • 浏览: 300220 次
  • 性别: Icon_minigender_1
  • 来自: 河南
文章分类
社区版块
存档分类
最新评论

MOTO 手机使用J2ME程序的Bug

阅读更多
这几天写了J2ME程序,在SUN公司提供的模拟器上运行一切正常,满心欢喜.
拷贝到手机上一试.晕啊.有个Form竟然不报错,但是也打不开.
经过一天的一个一个添加的测试(狂心疼手机的USB插口,MOTO的设计师估计试左撇子)
一个一个的问题浮出水面
  1. 不能又超过3层的类的继承关系,否则很容易此类创建的时候异常,但是不报错,不过就是无法打开.
  2. TextField不能使用 TextField.UNEDITABLE类型,否则只要焦点移动到该对象上,内存就会一路狂跑,最终溢出.这个错误,可以通过sun公司的Sun Java (TM) Wireless Toolkit 2.5.2 for CLDC 打开内存监视器就可以看到了.
  3. TextField的类型中TextField.UNEDITABLE|TextField.DECIMAL不能复合使用,否则用一个死一个.不信自己去试啦~~~~
  4. StringTokenizer好像有问题,哦,好像啊.我没确认,工作进度赶太紧,没时间确认了,谁有空确认一下吧.反正我调用下面的代码就会有不报错的异常,然后机器的程序就无法打开了.
    /** *//**
         * MOTO 不可以使用
         * 
         * 
    @param str
         * 
    @return
         * 
    @author Ken_xu
         
    */

        
    public static String[] split(String str) ...{
            
    return split(str, ' '-1);
        }


        
    /** *//**
         * MOTO 不可以使用
         
    */

        
    public static String[] split(String text, char separator) ...{
            
    return split(text, separator, -1);
        }


        
    /** *//**
         * MOTO手机不可以使用
         * 
         * 
    @param str
         * 
    @param separator
         * 
    @param max
         * 
    @return
         * 
    @author Ken_xu
         
    */

        
    public static String[] split(String str, char separator, int max) ...{
            StringTokenizer tok 
    = null;
            Vector v 
    = null;
            
    if (separator == ' '...{
                tok 
    = new StringTokenizer(str);
            }
     else ...{
                tok 
    = new StringTokenizer(str, separator);
            }

            
    for (v = new Vector(); tok.hasMoreChars();) ...{
                String s 
    = "" + tok.nextToken();
                s 
    = s.trim();
                
    if (s.equals(""== false...{
                    v.addElement(s.trim());
                }

            }

            
    int listSize = v.size();
            
    if (max > 0 && listSize > max)
                listSize 
    = max;
            String list[] 
    = new String[listSize];
            
    int i = 0;
            
    int lastTokenBegin = 0;
            
    int lastTokenEnd = 0;
            
    for (Enumeration e = v.elements(); e.hasMoreElements();) ...{
                
    if (max > 0 && i == listSize - 1...{
                    String endToken 
    = (String) e.nextElement();
                    lastTokenBegin 
    = str.indexOf(endToken, lastTokenEnd);
                    list[i] 
    = str.substring(lastTokenBegin);
                    
    break;
                }

                list[i] 
    = "" + e.nextElement();
                lastTokenBegin 
    = str.indexOf(list[i], lastTokenEnd);
                lastTokenEnd 
    = lastTokenBegin + list[i].length();
                i
    ++;
            }

            
    return list;
        }

  5. ....等等吧,我再找找,找到下一个再写上来好了,就待续吧~~~~~~~~~
哎~~~不知道是MOTO手机厂商想什么呢,这麽多的Bug

期望:要是MOTO的E2手机(Arm芯片组上跑的Linux系统).能支持System.out就好了,最起码通过telnet能看到异常信息就好了
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics