Java 在Android中调用具有getContentResolver().query的方法时使用NPE

Java 在Android中调用具有getContentResolver().query的方法时使用NPE,java,android,android-cursor,mediastore,Java,Android,Android Cursor,Mediastore,从Android中的另一个活动调用getPlaylist()方法时出现NullPointerException。 该方法应该获取音频信息,然后使用Cursor Cursor=getContentResolver().query(MediaStore…) 详情如下 我正在使用两个活动(AudioPlayerActivity、FileManager)开发一个自定义音频播放器。 AudioPlayerActivity使用文件管理器**获取音频文件列表,然后播放它们 以下是其中的一些片段。以下是Audi

从Android中的另一个活动调用getPlaylist()方法时出现NullPointerException。 该方法应该获取音频信息,然后使用Cursor Cursor=getContentResolver().query(MediaStore

详情如下

我正在使用两个活动(AudioPlayerActivity、FileManager)开发一个自定义音频播放器。 AudioPlayerActivity使用文件管理器**获取音频文件列表,然后播放它们

以下是其中的一些片段。以下是AudioPlayerActivity.java

ArrayList audioList=new ArrayList();
mp=新媒体播放器();
fileManager=newfilemanager();
audioList=fileManager.getPlaylist();//调用此方法时使用NPE!
播放音频(0);
下一个是FileManager.java,它读取所有音频文件,并使用MediaStoreAPI将详细信息(如MP3 ID标签)存储在ArrayList中

公共类文件管理器扩展活动{
@凌驾
创建时的公共void(Bundle SavedInstanceState){
super.onCreate(savedInstanceState);
//没有视图。只是获取音频文件
}
需要使用适当的上下文调用公共ArrayList
getContentResolver()


不要从活动扩展FileManager,只需从调用活动(AudioPlayerActivity.java)传入上下文,然后就可以在
Cursor Cursor=context.getContentResolver()…

中使用上下文从logcat发布完整的堆栈跟踪
09-30 11:55:35.265: D/AndroidRuntime(13516): Shutting down VM
09-30 11:55:35.265: W/dalvikvm(13516): threadid=1: thread exiting with uncaught exception (group=0x41d37c08)
09-30 11:55:35.270: E/AndroidRuntime(13516): FATAL EXCEPTION: main
09-30 11:55:35.270: E/AndroidRuntime(13516): Process: project.sample.audioplayer, PID: 13516
09-30 11:55:35.270: E/AndroidRuntime(13516): java.lang.RuntimeException: Unable to start activity ComponentInfo{project.sample.audioplayer/project.sample.audioplayer.AudioPlayerActivity}: java.lang.NullPointerException
09-30 11:55:35.270: E/AndroidRuntime(13516):    at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2305)
09-30 11:55:35.270: E/AndroidRuntime(13516):    at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2363)
09-30 11:55:35.270: E/AndroidRuntime(13516):    at android.app.ActivityThread.access$900(ActivityThread.java:161)
09-30 11:55:35.270: E/AndroidRuntime(13516):    at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1265)
09-30 11:55:35.270: E/AndroidRuntime(13516):    at android.os.Handler.dispatchMessage(Handler.java:102)
09-30 11:55:35.270: E/AndroidRuntime(13516):    at android.os.Looper.loop(Looper.java:157)
09-30 11:55:35.270: E/AndroidRuntime(13516):    at android.app.ActivityThread.main(ActivityThread.java:5356)
09-30 11:55:35.270: E/AndroidRuntime(13516):    at java.lang.reflect.Method.invokeNative(Native Method)
09-30 11:55:35.270: E/AndroidRuntime(13516):    at java.lang.reflect.Method.invoke(Method.java:515)
09-30 11:55:35.270: E/AndroidRuntime(13516):    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1265)
09-30 11:55:35.270: E/AndroidRuntime(13516):    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1081)
09-30 11:55:35.270: E/AndroidRuntime(13516):    at dalvik.system.NativeStart.main(Native Method)
09-30 11:55:35.270: E/AndroidRuntime(13516): Caused by: java.lang.NullPointerException
09-30 11:55:35.270: E/AndroidRuntime(13516):    at android.content.ContextWrapper.getContentResolver(ContextWrapper.java:104)
09-30 11:55:35.270: E/AndroidRuntime(13516):    at project.sample.audioplayer.FileManager.getPlaylist(FileManager.java:35)
09-30 11:55:35.270: E/AndroidRuntime(13516):    at project.sample.audioplayer.AudioPlayerActivity.onCreate(AudioPlayerActivity.java:70)
09-30 11:55:35.270: E/AndroidRuntime(13516):    at android.app.Activity.performCreate(Activity.java:5426)
09-30 11:55:35.270: E/AndroidRuntime(13516):    at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1105)
09-30 11:55:35.270: E/AndroidRuntime(13516):    at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2269)
09-30 11:55:35.270: E/AndroidRuntime(13516):    ... 11 more