android应用程序上的Java空指针异常错误

android应用程序上的Java空指针异常错误,java,android,Java,Android,--你们比我聪明多了 我很难解决这个错误。 由于空指针异常,我的应用程序正在崩溃 以下是错误: java.lang.ArrayIndexOutOfBoundsException: length=6; index=6 at net.miraath.anbiyaa.SimpleMusicStream.updateAudioInfo(SimpleMusicStream.java:524) at net.miraath.anbiyaa.Simple

--你们比我聪明多了

我很难解决这个错误。 由于空指针异常,我的应用程序正在崩溃

以下是错误:

    java.lang.ArrayIndexOutOfBoundsException: length=6; index=6
            at net.miraath.anbiyaa.SimpleMusicStream.updateAudioInfo(SimpleMusicStream.java:524)
            at net.miraath.anbiyaa.SimpleMusicStream.access$1400(SimpleMusicStream.java:30)
            at net.miraath.anbiyaa.SimpleMusicStream$AudioInfoLoadTask.onPostExecute(SimpleMusicStream.java:651)
            at net.miraath.anbiyaa.SimpleMusicStream$AudioInfoLoadTask.onPostExecute(SimpleMusicStream.java:596)
            at android.os.AsyncTask.finish(AsyncTask.java:631)
            at android.os.AsyncTask.access$600(AsyncTask.java:177)
            at android.os.AsyncTask$InternalHandler.handleMessage(AsyncTask.java:644)
            at android.os.Handler.dispatchMessage(Handler.java:99)
            at android.os.Looper.loop(Looper.java:137)
            at android.app.ActivityThread.main(ActivityThread.java:4745)
            at java.lang.reflect.Method.invokeNative(Native Method)
            at java.lang.reflect.Method.invoke(Method.java:511)
            at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:786)
            at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:553)
            at dalvik.system.NativeStart.main(Native Method)
10-25 12:36:30.275    1560-1560/net.miraath.anbiyaa E/Trace﹕ error opening trace file: No such file or directory (2)
10-25 12:36:30.275    1560-1560/net.miraath.anbiyaa D/AndroidRuntime﹕ Shutting down VM
10-25 12:36:30.275    1560-1560/net.miraath.anbiyaa W/dalvikvm﹕ threadid=1: thread exiting with uncaught exception (group=0xb2ed3288)
10-25 12:36:30.275    1560-1560/net.miraath.anbiyaa E/AndroidRuntime﹕ FATAL EXCEPTION: main
    java.lang.RuntimeException: Unable to start service net.miraath.anbiyaa.PlayerService@b3962930 with null: java.lang.NullPointerException
            at android.app.ActivityThread.handleServiceArgs(ActivityThread.java:2507)
            at android.app.ActivityThread.access$1900(ActivityThread.java:130)
            at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1292)
            at android.os.Handler.dispatchMessage(Handler.java:99)
            at android.os.Looper.loop(Looper.java:137)
            at android.app.ActivityThread.main(ActivityThread.java:4745)
            at java.lang.reflect.Method.invokeNative(Native Method)
            at java.lang.reflect.Method.invoke(Method.java:511)
            at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:786)
            at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:553)
            at dalvik.system.NativeStart.main(Native Method)
     Caused by: java.lang.NullPointerException
            at net.miraath.anbiyaa.PlayerService.onStart(PlayerService.java:117)
            at android.app.Service.onStartCommand(Service.java:450)
            at android.app.ActivityThread.handleServiceArgs(ActivityThread.java:2490)
            at android.app.ActivityThread.access$1900(ActivityThread.java:130)
            at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1292)
            at android.os.Handler.dispatchMessage(Handler.java:99)
            at android.os.Looper.loop(Looper.java:137)
            at android.app.ActivityThread.main(ActivityThread.java:4745)
            at java.lang.reflect.Method.invokeNative(Native Method)
            at java.lang.reflect.Method.invoke(Method.java:511)
            at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:786)
            at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:553)
            at dalvik.system.NativeStart.main(Native Method)
基尔是我最喜欢的地方:同样的代码也适用于其他收音机,不会崩溃

有什么想法吗

以下是代码:

  audioTitle.setText(infos[0]);
  listenerNomber.setText("" + getResources().getString(R.string.lable_listiner_nomber)+": " + infos[0]);
  audioTotalTime.setText(infos[5] + "k");
  if(!infos[6].equals(stationOldAudioTitle)){
      ((MiraathRadio)getApplication()).intNotification(stationTitle.getText(), stationTitle.getText(), infos[6], stationIndex);
      stationOldAudioTitle = infos[6];
  }
以下是playerserver.class文件中的代码:

stationURL = intent.getStringExtra("stationURL");
stationName = intent.getStringExtra("stationName");
stationIndex = intent.getIntExtra("stationIndex",0);
CharSequence stationAudioTitle = intent.getStringExtra("stationAudioTitle"); 

更新:我忘了提到一个键在所有这些中的作用:当我没有按系统对话框上的OK键时,这个异常会弹出,应用程序会在后台继续工作。只有当我单击“确定”时,应用程序才会崩溃并关闭。

我不知道infos的初始化位置,但基于异常java.lang.ArrayIndexOutOfBoundsException:length=6;index=6,它的长度为6,因此infos[6]超出了数组的界限。

你能从playerservice类中发布第117行吗?事实上,许多Java新手忘记了数组是从0索引的,尤其是在高级语言中,数组是从1索引的。@Chris Stratton:我知道Java中数组是从零索引的。我从以前的开发人员那里继承了这段代码,wgo是从这个项目发布的。我正在纠正他的错误。还在看。。。如果我增加索引,它会在其他广播频道失败。由于内容是从远程服务器上的XML文件填充的,我想知道这是否是我的问题的根源,我不控制服务器???