-1

私は Android Music Player アプリの構築に取り組んでいます。設計とコーディングは終了しましたが、エミュレーターで実行すると、次のエラーが表示されます。

アプリケーション Droid Player (プロセス com.droid.droidplayer) が予期せず停止しました。もう一度やり直してください。

ソースコードのリンクは次のとおりです: ソースコード

ソース コードにエラーはありませんが、アプリを実行すると LogCat にエラーが表示されます。

02-14 20:28:49.037: E/AndroidRuntime(383): 致命的な例外: メイン

02-14 20:28:49.037: E/AndroidRuntime(383): java.lang.RuntimeException: アクティビティを開始できません ComponentInfo{com.droid.droidplayer/com.droid.droidplayer.Player}: java.lang.NullPointerException

02-14 20:28:49.037: E/AndroidRuntime(383): android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1815) で

02-14 20:28:49.037: E/AndroidRuntime (383): android.app.ActivityThread.handleLaunchActivity (ActivityThread.java:1831) で

02-14 20:28:49.037: E/AndroidRuntime(383): android.app.ActivityThread.access$500(ActivityThread.java:122) で

02-14 20:28:49.037: E/AndroidRuntime(383): android.app.ActivityThread$H.handleMessage(ActivityThread.java:1024) で

02-14 20:28:49.037: E/AndroidRuntime(383): android.os.Handler.dispatchMessage(Handler.java:99) で

02-14 20:28:49.037: E/AndroidRuntime(383): android.os.Looper.loop(Looper.java:132)

02-14 20:28:49.037: E/AndroidRuntime(383): android.app.ActivityThread.main(ActivityThread.java:4123) で

02-14 20:28:49.037: E/AndroidRuntime(383): java.lang.reflect.Method.invokeNative(ネイティブ メソッド) で

02-14 20:28:49.037: E/AndroidRuntime(383): java.lang.reflect.Method.invoke(Method.java:491) で

02-14 20:28:49.037: E/AndroidRuntime(383): com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:841) で

02-14 20:28:49.037: E/AndroidRuntime(383): com.android.internal.os.ZygoteInit.main (ZygoteInit.java:599) で

02-14 20:28:49.037: E/AndroidRuntime(383): dalvik.system.NativeStart.main(ネイティブ メソッド) で

02-14 20:28:49.037: E/AndroidRuntime(383): 原因: java.lang.NullPointerException

02-14 20:28:49.037: E/AndroidRuntime(383): com.droid.droidplayer.SongsManager.getPlayList(SongsManager.java:25) で

02-14 20:28:49.037: E/AndroidRuntime(383): com.droid.droidplayer.Player.onCreate(Player.java:76)

02-14 20:28:49.037: E/AndroidRuntime(383): android.app.Activity.performCreate で (Activity.java:4397)

02-14 20:28:49.037: E/AndroidRuntime(383): android.app.Instrumentation.callActivityOnCreate (Instrumentation.java:1048) で

02-14 20:28:49.037: E/AndroidRuntime(383): android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1779) で

02-14 20:28:49.037: E/AndroidRuntime(383): ... 11 詳細

02-14 20:29:27.166: I/プロセス (383): 信号を送信しています。PID: 383 SIG: 9

4

2 に答える 2

0
  1. パッケージcom.droid.droidplayer;

  2. java.io.Fileをインポートします。
  3. インポートjava.io.FilenameFilter;
  4. import java.util.ArrayList;
  5. java.util.HashMapをインポートします。

  6. パブリッククラスSongsManager{
  7. //SDカードパス
  8. 最終的な文字列MEDIA_PATH=new String( "/ sdcard /");
  9. private ArrayList> songsList = new ArrayList>();

  10. //コンストラクタ
  11. public SongsManager(){

  12. }





  13. public ArrayList> getPlayList(){
  14. ファイルホーム=新しいファイル(MEDIA_PATH);

  15. if(home.listFiles(new FileExtensionFilter())。length> 0){
  16. for(ファイルファイル:home.listFiles(new FileExtensionFilter())){
  17. HashMapの曲=newHashMap();
  18. song.put( "songTitle"、file.getName()。substring(0(file.getName()。length()-4)));
  19. song.put( "songPath"、file.getPath());

  20. //各曲をSongListに追加します
  21. songsList.add(song);
  22. }
  23. }
  24. //曲リスト配列を返します
  25. songsListを返します。
  26. }




  27. クラスFileExtensionFilterはFilenameFilterを実装します{
  28. public boolean accept(File dir、String name){
  29. return(name.endsWith( "。mp3")|| name.endsWith( "。MP3"));
  30. }
  31. }
  32. }
于 2013-02-15T02:33:24.037 に答える
0

SongsManager の 25 行目のオブジェクトが null です。

于 2013-02-14T17:40:43.827 に答える