各位大神,我是用自己创建的sdcard来在虚拟机运行播放器的,但是到手机就出错了,在电脑上是没错的,请问是什么问题啊,我已经获得了权限的,可能是手机SD卡无法获取,请问该怎么做呢???
05-29 13:18:20.663: E/AndroidRuntime(11173): FATAL EXCEPTION: main
05-29 13:18:20.663: E/AndroidRuntime(11173): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.jiang.android/com.jiang.android.MusicPlayer3}: java.lang.NullPointerException
05-29 13:18:20.663: E/AndroidRuntime(11173): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1709)
05-29 13:18:20.663: E/AndroidRuntime(11173): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1734)
05-29 13:18:20.663: E/AndroidRuntime(11173): at android.app.ActivityThread.access$1500(ActivityThread.java:124)
05-29 13:18:20.663: E/AndroidRuntime(11173): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:972)
05-29 13:18:20.663: E/AndroidRuntime(11173): at android.os.Handler.dispatchMessage(Handler.java:99)
05-29 13:18:20.663: E/AndroidRuntime(11173): at android.os.Looper.loop(Looper.java:130)
05-29 13:18:20.663: E/AndroidRuntime(11173): at android.app.ActivityThread.main(ActivityThread.java:3859)
05-29 13:18:20.663: E/AndroidRuntime(11173): at java.lang.reflect.Method.invokeNative(Native Method)
05-29 13:18:20.663: E/AndroidRuntime(11173): at java.lang.reflect.Method.invoke(Method.java:507)
05-29 13:18:20.663: E/AndroidRuntime(11173): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:839)
05-29 13:18:20.663: E/AndroidRuntime(11173): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:597)
05-29 13:18:20.663: E/AndroidRuntime(11173): at dalvik.system.NativeStart.main(Native Method)
05-29 13:18:20.663: E/AndroidRuntime(11173): Caused by: java.lang.NullPointerException
05-29 13:18:20.663: E/AndroidRuntime(11173): at com.jiang.android.MusicPlayer3.updateSongList(MusicPlayer3.java:160)
05-29 13:18:20.663: E/AndroidRuntime(11173): at com.jiang.android.MusicPlayer3.onCreate(MusicPlayer3.java:59)
05-29 13:18:20.663: E/AndroidRuntime(11173): at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1047)
05-29 13:18:20.663: E/AndroidRuntime(11173): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1673)
05-29 13:18:20.663: E/AndroidRuntime(11173): ... 11 more
05-29 13:18:20.663: E/AndroidRuntime(11173): FATAL EXCEPTION: main
05-29 13:18:20.663: E/AndroidRuntime(11173): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.jiang.android/com.jiang.android.MusicPlayer3}: java.lang.NullPointerException
05-29 13:18:20.663: E/AndroidRuntime(11173): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1709)
05-29 13:18:20.663: E/AndroidRuntime(11173): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1734)
05-29 13:18:20.663: E/AndroidRuntime(11173): at android.app.ActivityThread.access$1500(ActivityThread.java:124)
05-29 13:18:20.663: E/AndroidRuntime(11173): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:972)
05-29 13:18:20.663: E/AndroidRuntime(11173): at android.os.Handler.dispatchMessage(Handler.java:99)
05-29 13:18:20.663: E/AndroidRuntime(11173): at android.os.Looper.loop(Looper.java:130)
05-29 13:18:20.663: E/AndroidRuntime(11173): at android.app.ActivityThread.main(ActivityThread.java:3859)
05-29 13:18:20.663: E/AndroidRuntime(11173): at java.lang.reflect.Method.invokeNative(Native Method)
05-29 13:18:20.663: E/AndroidRuntime(11173): at java.lang.reflect.Method.invoke(Method.java:507)
05-29 13:18:20.663: E/AndroidRuntime(11173): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:839)
05-29 13:18:20.663: E/AndroidRuntime(11173): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:597)
05-29 13:18:20.663: E/AndroidRuntime(11173): at dalvik.system.NativeStart.main(Native Method)
05-29 13:18:20.663: E/AndroidRuntime(11173): Caused by: java.lang.NullPointerException
05-29 13:18:20.663: E/AndroidRuntime(11173): at com.jiang.android.MusicPlayer3.updateSongList(MusicPlayer3.java:160)
05-29 13:18:20.663: E/AndroidRuntime(11173): at com.jiang.android.MusicPlayer3.onCreate(MusicPlayer3.java:59)
05-29 13:18:20.663: E/AndroidRuntime(11173): at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1047)
05-29 13:18:20.663: E/AndroidRuntime(11173): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1673)
05-29 13:18:20.663: E/AndroidRuntime(11173): ... 11 more
解决方案 »
- 关于获取外部SD卡信息的问题
- 解析xml超级难题
- 为什么服务会自动停止?
- 这样的效果是如何实现的呢?
- Android,线性布局背景色问题,请高手解决
- 请教:Activity 查找根目录下的所有文件,为什么总是运行不成功,提示:the application has stopped unexpectedly
- Android开发 Eclipse之前调试logCat能正常输出,某次重启电脑后,LogCat没有任何信息输出了
- 关于NFC技术的疑问
- ListView的点击问题
- 求解决!
- 写一个星座查询,两个EditText,edittext为空时,程序自动退出,怎么抓取这个异常并提示呢?
- 程序自动退出问题
com.jiang.android.MusicPlayer3.updateSongList(MusicPlayer3.java:160)MusicPlayer3.java 160行
来代替直接使用"/mnt/sdcard"
public void updateSongList(){
File home=new File(MEDIA_PATH);
if(home.listFiles(new Mp3Filter()).length>0){
for(File file:home.listFiles(new Mp3Filter())){
songs.add(file.getName());
}
ArrayAdapter<String>songList=new ArrayAdapter<String>(this,R.layout.song_item,songs);
setListAdapter(songList);
}
}
如果没有符合条件的文件,会返回 null,而不是一个长度为0的数组
...
File[] files = home.listFiles(new Mp3Filter());
if(files != null && files.length > 0)
{
for(File f : files)
{
songs.add(file.getName());
}
}
...
06-04 20:14:40.275: E/MediaPlayer(10993): Attempt to perform seekTo in wrong state: mPlayer=0x0, mCurrentState=1
06-04 20:14:40.275: E/MediaPlayer(10993): error (-38, 0)
06-04 20:14:40.327: E/MediaPlayer(10993): Error (-38,0)
06-04 20:14:40.449: E/MediaPlayer(10993): Attempt to perform seekTo in wrong state: mPlayer=0x0, mCurrentState=0
06-04 20:14:40.468: E/MediaPlayer(10993): Attempt to perform seekTo in wrong state: mPlayer=0x0, mCurrentState=0
06-04 20:14:40.483: E/MediaPlayer(10993): Attempt to perform seekTo in wrong state: mPlayer=0x0, mCurrentState=0
06-04 20:14:40.507: E/MediaPlayer(10993): Attempt to perform seekTo in wrong state: mPlayer=0x0, mCurrentState=0
06-04 20:14:40.514: E/MediaPlayer(10993): Attempt to perform seekTo in wrong state: mPlayer=0x0, mCurrentState=0
06-04 20:14:40.538: E/MediaPlayer(10993): Attempt to perform seekTo in wrong state: mPlayer=0x0, mCurrentState=0
06-04 20:14:40.561: E/MediaPlayer(10993): Attempt to perform seekTo in wrong state: mPlayer=0x0, mCurrentState=0
06-04 20:14:40.577: E/MediaPlayer(10993): Attempt to perform seekTo in wrong state: mPlayer=0x0, mCurrentState=0
06-04 20:14:40.608: E/MediaPlayer(10993): Attempt to perform seekTo in wrong state: mPlayer=0x0, mCurrentState=0
06-04 20:14:40.711: E/MediaPlayer(10993): Attempt to perform seekTo in wrong state: mPlayer=0x0, mCurrentState=0
06-04 20:14:40.725: E/MediaPlayer(10993): Attempt to perform seekTo in wrong state: mPlayer=0x0, mCurrentState=0
06-04 20:14:41.671: W/KeyCharacterMap(10993): Can't open keycharmap file
FATAL EXCEPTION: main
android.database.CursorIndexOutOfBoundsException: Index -1 requested, with a size of 7
at android.database.AbstractCursor.checkPosition(AbstractCursor.java:580)
at android.database.AbstractWindowedCursor.checkPosition(AbstractWindowedCursor.java:214)
at android.database.AbstractWindowedCursor.getString(AbstractWindowedCursor.java:41)
at android.database.CursorWrapper.getString(CursorWrapper.java:135)
at com.jiang.android.MusicPlayer3.onListItemClick(MusicPlayer3.java:243)
at android.app.ListActivity$2.onItemClick(ListActivity.java:319)
at android.widget.AdapterView.performItemClick(AdapterView.java:284)
at android.widget.ListView.performItemClick(ListView.java:3513)
at android.widget.AbsListView$PerformClick.run(AbsListView.java:1812)
at android.os.Handler.handleCallback(Handler.java:587)
at android.os.Handler.dispatchMessage(Handler.java:92)
at android.os.Looper.loop at android.app.ActivityThread.main(ActivityThread.java:3683)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:507)
06 at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run06-06 at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:597)
at dalvik.system.NativeStart.main(Native Method)