问题描述
新手。我做了个手机软件,在eclipse下用模拟器i运行没有问题,可是安装了以后,提示“应用程序出错:应用程序即将关闭”,点击详情为“未处理的异常,Indexoutofbounds...”,也就是说没有处理数组越界这个异常?可是我模拟的时候一直没有提示过有异常啊,怎么打包在手机上就有异常了?我猜想了一个原因:我这个软件在运行时需要读取res中的文本,也就是包类文本,然后获得字符串,最后处理字符串,打包成了jar后,如果读取不了jar中的文本,就会出现上述错误,是这样的吗(我是把需要读取的文本放在res文件夹下,用eclipse直接打包的)?各位高手们都给点意见啊~
解决方案
解决方案二:
加上异常处理找出可能越界的地方
解决方案三:
引用1楼runer的回复:
加上异常处理找出可能越界的地方
代码要给出来我们看啊,只是Indexoutofbounds...吗?
解决方案四:
代码数组越界的问题,认真调试代码吧
解决方案五:
要把你要读取的文本放到res文件夹中打包的
解决方案六:
该回复于2011-03-03 14:09:14被版主删除
解决方案七:
我的代码3000多行,没办法贴啊~还有,我今天同学的Nokia5000上运行,居然可以打开了,没有报错!但是我的Nokia5630就是不行[img=http://b65.photo.store.qq.com/http_imgload.cgi?/rurl4_b=00f78c6563ee0d7c29944623ce844282a9ae27335e45e589a8ffc3bf4b323e629646da08df230f7258cedde12c6c2835127fe87da2f7963f70ea1187349eedf913f8810352c3b41afc00fd5174b495655df65539&a=65&b=65][/img][img=http://b62.photo.store.qq.com/http_imgload.cgi?/rurl4_b=00f78c6563ee0d7c29944623ce8442829c345bf533861178e60d7b5baa26dc1f2a8628ecfddcfb337afdd50aac46c81ae20e453e625749b65ff0b9b80f4956e885fdc2edceb7dc6f64bc6a182d30e428a6a52390&a=70&b=62][/img]
解决方案八:
大家看看哪里出错了?publicclassViewextendsListimplementsCommandListener{privateVectorallStrings=newVector(330);privateVectorallImages=newVector(330);privateintmaxItem=10;privateintcurItem=0;publicfinalstaticObjectDUMMY=newObject();privateCommandcmdMore;privateCommandcmdPrev;publicViewBus(){super("项目浏览",List.IMPLICIT);cmdMore=newCommand("下一页",Command.SCREEN,1);cmdPrev=newCommand("上一页",Command.SCREEN,2);addCommand(cmdMore);addCommand(cmdPrev);super.setCommandListener(this);init();}publicvoidinit(){for(inti=0;i<100;i++){this.append("Item"+i,null);}}privatevoidupdateList(){ints=super.size();for(inti=0;i<s;i++){super.delete(0);}for(inti=curItem;i<curItem+maxItem;i++){if(!(i<allStrings.size()))break;Stringa_item=(String)allStrings.elementAt(i);Imageimg=null;Objectobj=allImages.elementAt(i);if(obj==DUMMY)img=null;elseimg=(Image)obj;super.append(a_item,img);}}publicvoidshowPrevPage(){if(curItem-maxItem>=0){curItem-=maxItem;updateList();}}publicvoidshowNextPage(){intlast=allStrings.size()-1;if(curItem+maxItem<=last){curItem+=maxItem;updateList();}}publicintappend(Stringstr,Imageimg){if(str==null)thrownewNullPointerException();if(img!=null&&img.isMutable())thrownewIllegalArgumentException();allStrings.addElement(str);if(img!=null)allImages.addElement(img);elseallImages.addElement(DUMMY);intlast=allStrings.size()-1;if(last<curItem+maxItem)super.append(str,img);returnlast;}publicvoiddelete(inteNum)throwsIndexOutOfBoundsException{if(eNum>=allStrings.size())thrownewIndexOutOfBoundsException();allStrings.removeElementAt(eNum);allImages.removeElementAt(eNum);if(eNum>=curItem&&eNum<curItem+maxItem)updateList();}publicvoidcommandAction(Commandc,Displayabled){if(c==cmdMore){showNextPage();}elseif(c==cmdPrev){showPrevPage();}}}
解决方案九:
thrownewIndexOutOfBoundsException();。。。。还是谢谢各位了
解决方案十:
以后细心点吧!