0

编辑:在意识到我必须公开事情之后,可以这么说,这就是我试图创建一个文件夹,当从我的电脑插入平板电脑并在那里复制东西时我可以看到:

File path = Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_PICTURES) ;
    File theFile = new File(path+"/Portfolio/");
    //if(!theFile.exists())
        theFile.mkdir();

我注释掉了 if theFile.exists() 因为它总是返回 true。

所以现在我有了这个似乎可以工作的文件夹,没有抛出任何错误,实际上应该创建该文件夹,我 Adao File Manager在设备上使用它来浏览到这个位置,它确实在 /Pictures/Portfolio 下

但是当我将它插入我的 Windows 机器时,我看到 /Pictures 但它下面没有文件夹,我只是丢失了它吗?

可以,然后呢

我有这些小 DIR 是从我的应用程序在我的平板电脑上制作的,用于放入客户端文件。我想我可以连接平板电脑并将文件从我的电脑复制到我制作的这些文件夹中。问题是当我插入我的 acer iconia 时,当它出现并且我可以浏览一些文件时,它似乎是我使用 File.mkdir() 在应用程序中创建的文件夹;是这条路:

/sdcard/Android/data/my.softwares.package.name/files/Pictures/somefolders

虽然我可以使用第 3 方文件浏览器应用程序查看此文件夹确实存在,但据我所知,我只能从 Windows 浏览到:

/sdcard/Android/data(如果我什至不确定)....真的是这样还​​是我错过了什么?我用来创建这些文件夹的代码是:

   String p = Environment.DIRECTORY_PICTURES + "/" + s.getClient().getFirstName()+s.getClient().getLastName() + "/" + s.getPackage().getName() + (mSession.getSessionDate().getMonth()+1)  +  mSession.getSessionDate().getDate() + (mSession.getSessionDate().getYear()+1900);
            File path = mContext.getExternalFilesDir(p);


            if(!path.exists())
                path.mkdir();

当我将平板电脑插入电脑时,这里似乎没有运气,再次只能到 Android/data

所以这是一个像投资组合这样的程序,我想在设备上创建一个文件夹,用户可以从他们的电脑复制图片,然后创建文件夹的同一个应用程序可以在图片全部复制后稍后读取这个文件夹,那么我错过了什么,因为我假设 Windows 能够读取 sdcard 上的所有内容似乎是错误的?

4

1 回答 1

1

您已在应用程序的私有数据区域中创建了图片,因此无权访问它。那将是一个安全问题。

将数据保存到 sdcard 等公共位置。只需阅读外部存储。

http://developer.android.com/guide/topics/data/data-storage.html#filesExternal

于 2011-08-10T04:36:03.117 回答