MOTO 手机使用J2ME程序的Bug

简介: 这几天写了J2ME程序,在SUN公司提供的模拟器上运行一切正常,满心欢喜.拷贝到手机上一试.晕啊.有个Form竟然不报错,但是也打不开.经过一天的一个一个添加的测试(狂心疼手机的USB插口,MOTO的设计师估计试左撇子)一个一个的问题浮出水面不能又超过3层的类的继承关系,否则很容易此类创建的时候异常,但是不报错,不过就是无法打开. TextField不能使用 TextField.U
这几天写了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能看到异常信息就好了
相关文章
|
2月前
|
JSON 安全 JavaScript
怎么保护苹果手机移动应用程序ipa中文件安全?
怎么保护苹果手机移动应用程序ipa中文件安全?
34 1
|
9天前
|
缓存 NoSQL Java
案例 采用Springboot默认的缓存方案Simple在三层架构中完成一个手机验证码生成校验的程序
案例 采用Springboot默认的缓存方案Simple在三层架构中完成一个手机验证码生成校验的程序
57 5
|
10月前
|
移动开发 安全 数据安全/隐私保护
怎么保护苹果手机移动应用程序ios ipa文件中的代码?
选择左侧的代码模块中的OC类名称或者Swift类名称,选择IPA种要混淆的二进制文件,然后勾选可执行文件代码里面的类名称。如果类太多可以使用搜索查看功能,ipaguard提供了级别选择,名称搜索,已选未选过滤来帮助配置混淆对象。
|
11月前
|
存储 Android开发 开发者
#2,Android新建第一个程序 Hello Android 模拟手机
#2,Android新建第一个程序 Hello Android 模拟手机
|
iOS开发
苹果手机请求程序报network error错误
苹果手机请求程序报network error错误
365 0
|
机器学习/深度学习 人工智能 安全
告别捅嗓子?AI手机程序通过声音检测新冠,准确率已达到89%
大数据文摘出品 不知道大家对做核酸怎么看,反正文摘菌的喉咙已经起茧了
198 0
告别捅嗓子?AI手机程序通过声音检测新冠,准确率已达到89%
程序人生 - 维修手机如何避坑?
程序人生 - 维修手机如何避坑?
95 0
程序人生 - 不能出门?只想躺着玩手机?躺着玩手机也能锻炼身体!
程序人生 - 不能出门?只想躺着玩手机?躺着玩手机也能锻炼身体!
40 0
|
编解码 Android开发 开发者
Android Studio 将程序在模拟器或手机上运行
运行程序必须有一个运行的载体,可以是一部Android手机,也可以是模拟器。 1.启动模拟器 首先观察顶部工具栏的图标,点击创建和启动模拟器的按钮,或者点击Tools里第一个的 AVD manager
Android Studio 将程序在模拟器或手机上运行
|
Android开发
Moto Z2 Force正式发布!史上最强模块化手机!
自从联想收购了摩托罗拉(MOTO)以后,整个摩托罗拉就开始走下坡路。
239 0
Moto Z2 Force正式发布!史上最强模块化手机!