2011-07-04 41 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

我已經使用清單文件中的權限..仍然有相同的問題.. –

相關問題