请帮我 。我用下面的代码得到Null指针异常 [英] Please help me . I am getting Null pointer Exception with the below code

查看:72
本文介绍了请帮我 。我用下面的代码得到Null指针异常的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

以下代码从SD卡或手机获取歌曲列表并在Mp3播放器中显示。但是当我运行应用程序时,应用程序失败并在以下代码中显示空指针异常。



有人可以帮我解决这个问题。请



公共类SongsManager {
// SDCard Path
final String MEDIA_PATH = new String();
private ArrayList< HashMap< String,String>> songsList = new ArrayList< HashMap< String,String>>();

//构造函数
public SongsManager(){

}

/ **
*函数读取所有mp3来自sdcard
*的文件并将详细信息存储在ArrayList
* * /
public ArrayList< HashMap< String,String>> getPlayList(){
File home = new File(MEDIA_PATH);

if(home.listFiles(new FileExtensionFilter())。length> 0){
for(File file:home.listFiles(new FileExtensionFilter())){
HashMap< String,String> song = new HashMap< String,String>();
song.put(songTitle,file.getName()。substring(0,(file.getName()。length() - 4)));
song.put(songPath,file.getPath());

//将每首歌曲添加到SongList
songsList.add(song);
}
}
//返回歌曲列表数组
返回songsList;
}

/ **
*用于过滤具有.mp3扩展名的文件的类
* * /
类FileExtensionFilter实现FilenameFilter {
public boolean accept(File dir,String name){
return(name.endsWith(。mp3)|| name.endsWith(。MP3));
}
}
}





Log Cat文件



无法启动活动ComponentInfo {com.android.musicplayer / com.android.musicplayer.AndroidBuildingMusicPlayerActivity}:java.lang.NullPointerException

at android.app.ActivityThread.performLaunchActivity( ActivityThread.java:2198)

在android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2247)

在android.app.ActivityThread.access $ 800(ActivityThread.java :141)

在android.app.ActivityThread $ H.handleMessage(ActivityThread.java:1210)

在android.os.Handler.dispatchMessage(Handler.java:102 )

在android.os.Looper.loop(Looper.java:136)

在android.app.ActivityThread.main(ActivityThread.java:5050)< br / >
at java.lang.reflect.Method.invokeNative(Native Method)

at java.lang.reflect.Method.invoke(Method.java:515)

at com.android.internal.os.ZygoteInit $ MethodAndArgsCaller.run(ZygoteInit.ja va:806)

at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:622)

at dalvik.system.NativeStart.main(Native Method )

引起:java.lang.NullPointerException

在com.android.musicplayer.SongsManager.getPlayList(SongsManager.java:25)

在com.android.musicplayer.AndroidBuildingMusicPlayerActivity.onCreate(AndroidBuildingMusicPlayerActivity.java:77)

在android.app.Activity.performCreate(Activity.java:5248)

在android .app.Instrumentation.callActivityOnCreate(Instrumentation.java:1087)

在android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2162)

在android.app.ActivityThread .handleLaunchActivity(ActivityThread.java:2247)

在android.app.ActivityThread.access $ 800(ActivityThread.java:141)

在android.app.ActivityThread $ H。 handleMessage(ActivityThread.java:1210)

在android.os.Handler.dispatchMessage(Handler.java:102

在android.os.Looper .loop(Looper.java:136)

在android.app.ActivityThread.main(ActivityThread.java:5050)

at java.lang.reflect.Method.invokeNative (原生方法)

at java.lang.reflect.Method.invoke(Method.java:515)

at com.android.internal.os.ZygoteInit $ MethodAndArgsCaller。运行(ZygoteInit.java:806)

at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:622)

at dalvik.system.NativeStart。 main(原生方法)

解决方案

800(ActivityThread.java:141)

在android.app.ActivityThread


H.handleMessage(ActivityThread.java:1210)

在android.os.Handler.dispatchMessage(Handler.java:102)

在android.os .Looper.loop(Looper.java:136)

在android.app.ActivityThread.main(ActivityThread.java:5050)

在java.lang.reflect.Method .invokeNative(原生方法)

在java.lang.reflect.Method.invoke(Method.java:515)

在com.android.inter nal.os.ZygoteInit


MethodAndArgsCaller.run(ZygoteInit.java:806)

at com.android.internal.os.ZygoteInit.main(ZygoteInit.java :622)

at dalvik.system.NativeStart.main(原生方法)

引起:java.lang.NullPointerException

at com。 android.musicplayer.SongsManager.getPlayList(SongsManager.java:25)

在com.android.musicplayer.AndroidBuildingMusicPlayerActivity.onCreate(AndroidBuildingMusicPlayerActivity.java:77)

在android。 app.Activity.performCreate(Activity.java:5248)

在android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1087)

在android.app.ActivityThread。 performLaunchActivity(ActivityThread.java:2162)

在android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2247)

在android.app.ActivityThread.access

The following code takes the songlist from SD card or phone and display in the Mp3 Player. But when i run the app , app fails and shows null pointer exception in the following code.

Can some one please help me to resolve this issue. Please

public class SongsManager {
    // SDCard Path
    final String MEDIA_PATH = new String("");
    private ArrayList<HashMap<String, String>> songsList = new ArrayList<HashMap<String, String>>();

    // Constructor
    public SongsManager(){

    }

    /**
     * Function to read all mp3 files from sdcard
     * and store the details in ArrayList
     * */
    public ArrayList<HashMap<String, String>> getPlayList(){
        File home = new File(MEDIA_PATH);

        if (home.listFiles(new FileExtensionFilter()).length > 0) {
            for (File file : home.listFiles(new FileExtensionFilter())) {
                HashMap<String, String> song = new HashMap<String, String>();
                song.put("songTitle", file.getName().substring(0, (file.getName().length() - 4)));
                song.put("songPath", file.getPath());

                //Adding each song to SongList
                songsList.add(song);
            }
        }
        // return songs list array
        return songsList;
    }

    /**
     * Class to filter files which are having .mp3 extension
     * */
    class FileExtensionFilter implements FilenameFilter {
        public boolean accept(File dir, String name) {
            return (name.endsWith(".mp3") || name.endsWith(".MP3"));
        }
    }
}



Log Cat File

Unable to start activity ComponentInfo{com.android.musicplayer/com.android.musicplayer.AndroidBuildingMusicPlayerActivity}: java.lang.NullPointerException
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2198)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2247)
at android.app.ActivityThread.access$800(ActivityThread.java:141)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1210)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:136)
at android.app.ActivityThread.main(ActivityThread.java:5050)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:515)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:806)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:622)
at dalvik.system.NativeStart.main(Native Method)
Caused by: java.lang.NullPointerException
at com.android.musicplayer.SongsManager.getPlayList(SongsManager.java:25)
at com.android.musicplayer.AndroidBuildingMusicPlayerActivity.onCreate(AndroidBuildingMusicPlayerActivity.java:77)
at android.app.Activity.performCreate(Activity.java:5248)
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1087)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2162)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2247)
at android.app.ActivityThread.access$800(ActivityThread.java:141)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1210)
at android.os.Handler.dispatchMessage(Handler.java:102
at android.os.Looper.loop(Looper.java:136)
at android.app.ActivityThread.main(ActivityThread.java:5050)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:515)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:806)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:622)
at dalvik.system.NativeStart.main(Native Method)

解决方案

800(ActivityThread.java:141)
at android.app.ActivityThread


H.handleMessage(ActivityThread.java:1210)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:136)
at android.app.ActivityThread.main(ActivityThread.java:5050)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:515)
at com.android.internal.os.ZygoteInit


MethodAndArgsCaller.run(ZygoteInit.java:806)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:622)
at dalvik.system.NativeStart.main(Native Method)
Caused by: java.lang.NullPointerException
at com.android.musicplayer.SongsManager.getPlayList(SongsManager.java:25)
at com.android.musicplayer.AndroidBuildingMusicPlayerActivity.onCreate(AndroidBuildingMusicPlayerActivity.java:77)
at android.app.Activity.performCreate(Activity.java:5248)
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1087)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2162)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2247)
at android.app.ActivityThread.access


这篇关于请帮我 。我用下面的代码得到Null指针异常的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆