【问题标题】:unusual error in Directory Creation目录创建中的异常错误
【发布时间】:2011-07-04 10:35:33
【问题描述】:

从昨天开始,我一直在尝试解决一个问题,但还没有成功。我制作了一个非常简单的 android 应用程序来创建目录,并且该应用程序运行良好。这里提到了主要的源代码。

@覆盖 public void onCreate(Bundle 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 

但是,昨天,当我将此代码集成到我自己的应用程序(一个播放 sd 卡中视频的简单视频列表)时,无论出于何种原因,目录功能导致目录创建失败......我调试了应用程序但在其中找不到异常错误或其他错误。我不知道可能出了什么问题。我只是想知道是否有任何方法可以获取目录创建失败背后的错误语句。我的意思是如果 mkdirs 失败了,它可以生成一个关于它为什么失败的小字声明? 有什么建议吗??

【问题讨论】:

  • 您是否在清单文件中声明了写入外部权限?
  • 是的,我已经在清单文件中声明了写入外部权限。当它是没有其他功能的独立代码类型时,相同的代码可以工作。但是,我将它与 listview 等的其他代码一起使用,但我认为它不会影响目录创建的工作。我真的不知道出了什么问题,我花了好几个小时都没有得到任何线索..

标签: android directory mkdirs


【解决方案1】:

请尝试以下功能。

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

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

【讨论】:

  • 谢谢先生的回复。虽然问题不在于权限或我的代码.. 但是您的回复迫使我再次转到我的清单文件,在那里我发现我以前使用过权限 android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS" 我删除了它,现在它工作正常..希望我能在此之前删除它,这样我就不必浪费 10 个小时了..非常感谢您的回复先生..
【解决方案2】:

使用权限 android:name="android.permission.WRITE_EXTERNAL_STORAGE"

【讨论】:

  • 我已经在清单文件中使用了权限..仍然有同样的问题..
猜你喜欢
  • 2019-04-26
  • 1970-01-01
  • 2016-07-29
  • 1970-01-01
  • 2015-04-01
  • 2014-06-06
  • 2021-09-29
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多