如何在android gallery中创建应用程序特定的文件夹?

时间:2013-12-11 15:49:33

标签: android android-gallery

我正在构建Android应用程序“ XYZ ”,其中用户将存储图像和视频等媒体。因此,我想在Android库中创建一个名为“XYZ”的文件夹,在“XYZ”中存储特定于应用程序的所有媒体。我如何实现它?

目前,我可以将媒体存储在SD卡上并扫描媒体文件,它们会显示在Android图库的“images”文件夹中。

3 个答案:

答案 0 :(得分:30)

我想画廊可以存储图像的正确方法是将文件写入此目录。

static final String appDirectoryName = "XYZ";
static final File imageRoot = new File(Environment.getExternalStoragePublicDirectory(
        Environment.DIRECTORY_PICTURES), appDirectoryName);

对于视频

static final File videoRoot = new File(Environment.getExternalStoragePublicDirectory(
        Environment.DIRECTORY_MOVIES), appDirectoryName);

创建图像

imageRoot.mkdirs();
final File image = new File(imageRoot, "image1.jpg");
// open OutputStream and write the file

如果你添加一些文件并打开图库,你应该看到专辑“XYZ”。 请注意,如果目录为空,您将看不到相册。

关于你的话

  

目前,我可以将媒体存储在SD卡上并扫描   媒体文件,它们出现在android图库的“images”文件夹中。

表示取决于您使用的Gallery应用程序。 默认的Android图库应创建以媒体文件所在文件夹命名的“相册”。

编辑:如果您没有运行媒体扫描程序或将其添加到MediaStore数据库,您将看不到新创建的图像。

答案 1 :(得分:2)

有> 10亿台Android设备,代表数千种设备型号,拥有数百种不同的“图库”应用程序(预安装或用户安装)。没有要求任何“图库”应用程序具有文件夹的概念,更不用说第三方开发人员控制这些文件夹。

因此,除了编写自己的应用程序之外,没有通用的方法来实现您的目标。

答案 2 :(得分:-2)

如果您能够将视频和图像存储在SD卡等外部存储设备中,我假设您知道如何使用" FILES"

因此,您只需要命名要保存的位置并创建它(如果它不存在)

类似的东西:

File file = new File(Environment.getExternalStorageDirectory() +"/XYZ/");  

if(!file.exists())     //check if file already exists
{
    file.mkdirs();     //if not, create it
}

这是您的目录文件夹,您可以随意保存它。

类似的东西:

File imageFile = new File(file.toString() + "image" + ".jpg");

这将创建一个名为" image.jpg"的图像文件。在XYZ目录中。