2014-10-25 2 views
-1

--- 그리고 너희들은 나보다 똑똑해!android app에서 자바 널 포인터 예외 오류

이 오류를 해결하는 데 문제가 있습니다. null 포인터 예외로 인해 앱이 다운되고 있습니다. 나는 내 머리를 철수하고 어디

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 [email protected] 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) 

기어는 다음과 같습니다 : 여기

는 오류가이 같은 코드는 다른 라디오에서 작동하며 충돌하지 않습니다!

어떤 아이디어 ???

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

업데이트 :

여기
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 파일의 코드는 다음과 같습니다

는 코드 나는 모든이에 하나 개의 키 행동하는 언급하는 것을 잊었다 : 나는 OK를 누르지 않을 때 예외의 결과로 나타나는 시스템 대화 상자에서 앱이 백그라운드에서 계속 작동합니다. 앱이 충돌하고 앱이 닫히는 경우에만 확인을 클릭하면됩니다.

+1

플레이어 서비스 클래스에서 117 번 라인을 게시 할 수 있습니까? – Cris

답변

3

infos이 초기화 된 곳을 모르지만 예외 (java.lang.ArrayIndexOutOfBoundsException: length=6; index=6)를 기반으로 길이가 6이므로 infos[6]이 배열 범위를 벗어났습니다.

+0

사실, Java를 처음 접했을 때 많은 사람들은 배열이 0에서 인덱싱된다는 사실을 잊어 버렸습니다. 1에서 인덱스하는 고급 언어가 있기 때문에 especcially. –

+0

@Chris Stratton : Java 배열에서 0부터 인덱싱된다는 것을 알고 있습니다. 나는 이전 개발자 wgo가이 프로젝트에서 릴리스 된이 코드를 상속 받았다. 나는 그의 실수를 고치고있다. – ironmantis7x

+0

여전히 찾고 ... 색인을 늘리면 다른 라디오 채널에서 실패합니다. 내용은 원격 서버의 XML 파일에서 채워지기 때문에 이것이 내 문제의 근원인지 궁금해합니다. 서버를 제어하지 않습니다. ??? – ironmantis7x