2011-07-04 45 views
0

我一直在试图解决自昨天以来的问题,但没有运气。我做了一个非常简单的android应用程序来创建目录和应用程序工作正常。主要的源代码在这里提到。目录创建中的异常错误

@覆盖 公共无效的onCreate(捆绑savedInstanceState){

super.onCreate(savedInstanceState); 
    setContentView(R.layout.main); 
    //View vi = null; 

    File extDir= Environment.getExternalStorageDirectory(); 
    File sddir = new File(extDir+"/test10"); 


    if (sddir.mkdirs()) { 
     Toast toast = Toast.makeText(this, 
     "Directory successfully created!", 
       Toast.LENGTH_SHORT); 
    toast.setGravity(Gravity.CENTER, 0, 0); 
    toast.show(); 
    } 
    else{ 
     Log.e(TAG, "Create dir in sdcard failed"); 
     Toast toast = Toast.makeText(this, 
     "Directory creation failed!", 
       Toast.LENGTH_SHORT); 
     toast.setGravity(Gravity.CENTER, 0, 0); 
    toast.show(); 
    } 
    ..... followed by remaining code 

然而,昨天,当我综合这段代码我自己的应用程序(一个简单的videolist从SD卡播放视频)时,目录功能,无论出于何种原因,导致目录创建失败...我调试应用程序,但无法找到异常错误或其他错误。我不知道什么可能是错误的..我只是想知道是否有任何方法来获取目录创建背后的错误陈述失败。我的意思是如果mkdirs失败了,它可能会生成一个关于它为什么失败的小打印语句? 有什么建议?

+0

你有声明在清单文件中写入外部权限吗? –

+0

是的,我已经声明在清单文件中写入外部权限。当它是没有其他功能的独立代码类型时,相同的代码有效。但是,我用它与其他代码的ListView等等,但我不认为它应该影响目录创建的工作。我真的不知道什么是错误的,我已经花了几个小时没有得到任何线索.. –

回答

0

请与以下功能尝试。

File cacheDir = new File(android.os.Environment.getExternalStorageDirectory(),"test10"); 
if (!cacheDir.exists()) 
    cacheDir.mkdirs(); 

并在清单文件中声明<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>

+0

Thankyou先生为您的答复。虽然问题不是在许可或我的代码..但你的答复迫使我再次去我的清单文件,我发现我以前使用权限android:name =“android.permission.MOUNT_UNMOUNT_FILESYSTEMS” 我删除它和现在它工作正常..希望我可以删除之前,所以我不会浪费10小时..非常感谢你的回复先生.. –

+0

你欢迎farhan,你可以自由地提问。 –

0

使用许可权的android:NAME = “android.permission.WRITE_EXTERNAL_STORAGE”

+0

我已经使用清单文件中的权限..仍然有相同的问题.. –

相关问题