【问题标题】:Folder don't see in DDMS whereas folder was created Android文件夹在 DDMS 中看不到,而文件夹是在 Android 中创建的
【发布时间】:2014-08-02 14:07:11
【问题描述】:

我不明白为什么我看不到我在 Eclipse 的 DDMS 中创建的文件夹。 在我的活动开始时,我调用了这个方法:

 public void createFolderSignature(){

    File signaturePointFolder = new File(Environment.getExternalStorageDirectory()+ File.separator + "tour_"+this.point.getId_tour() + File.separator + "point_"+this.point.getId());            
    Log.i("PATH : " , signaturePointFolder.getPath());
    if (!signaturePointFolder.exists()){
           Log.i("signaturePointFolder","CREATED");
           signaturePointFolder.mkdir();
       }else{
           Log.i("signaturePointFolder","ALREADY CREATED");
       }
}

游览是对象。 因此,我根据点和游览的 ID 创建了一个特殊文件夹。 如您所见,我记录日志以查看文件夹是否创建良好。 所以这是我的日志:

06-12 09:31:51.268: I/PATH :(24819): /mnt/sdcard/tour_1/point_1
06-12 09:31:51.268: I/signaturePointFolder(24819): CREATED
06-12 09:31:51.412: D/dalvikvm(24819): GC_CONCURRENT freed 1101K, 10% free  12980K/14343K, paused 18ms+12ms, total 67ms
06-12 09:31:51.716: D/dalvikvm(24819): GC_CONCURRENT freed 1706K, 13% free 13337K/15175K, paused 11ms+15ms, total 66ms

因此,如果看到我的日志“已创建”,我通常认为该文件夹创建良好,但不,我在 AVD 的 Eclipse 中的文件资源管理器中什么也看不到。 每次我参加活动时,我都有相同的日志。 为什么?我的代码有问题吗? 我希望你能帮助我=)

编辑 1: 我忘了说我也在清单中获得了 WRITE_EXTERNAL_STORAGE 和 READ_ 权限。

【问题讨论】:

    标签: java android eclipse directory ddms


    【解决方案1】:

    你总是得到Log.i("signaturePointFolder","CREATED");,因为文件路径总是不存在的。
    所以,试试这个

    public void createFolderSignature(){
    
        File signaturePointFolder = new File(Environment.getExternalStorageDirectory()+ File.separator + "tour_"+this.point.getId_tour() + File.separator + "point_"+this.point.getId());            
        Log.i("PATH : " , signaturePointFolder.getPath());
        if (!signaturePointFolder.exists()){
               Log.i("signaturePointFolder","CREATED");
               signaturePointFolder.mkdirs();
           }else{
               Log.i("signaturePointFolder","ALREADY CREATED");
           }
    }
    

    别忘了在manifest.xml文件中添加权限

    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
    

    【讨论】:

    • @ThomasTrabelsi 很高兴为您提供帮助。如果此答案或任何其他答案解决了您的问题,请将其标记为已接受,这样也可能对其他人有所帮助。
    【解决方案2】:

    signaturePointFolder.mkdir() 更改为signaturePointFolder.mkdirs() 这是必需的,因为您创建了一个文件夹层次结构。 mkdir() 仅在有单亲时有效。因此,您还需要 mkdirs() 来创建剩余的文件夹。

    还要确保您在清单中提供写入权限

    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
    

    【讨论】:

    • @ThomasTrabelsi 请勾选正确的标记并选择此作为答案。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-05-16
    • 1970-01-01
    • 1970-01-01
    • 2018-12-02
    • 1970-01-01
    • 2013-02-07
    相关资源
    最近更新 更多