我正在构建Android应用程序“ XYZ ”,其中用户将存储图像和视频等媒体。因此,我想在Android库中创建一个名为“XYZ”的文件夹,在“XYZ”中存储特定于应用程序的所有媒体。我如何实现它?
目前,我可以将媒体存储在SD卡上并扫描媒体文件,它们会显示在Android图库的“images”文件夹中。
答案 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目录中。