Как создать конкретную папку приложения в галерее Android?
Я создаю приложение для Android " XYZ", в котором пользователи будут хранить носители, такие как изображения и видео. Поэтому я хотел бы создать папку в галерее Android под названием "XYZ" и сохранить все носители, специфичные для приложения, в "XYZ" . Как мне это достичь?
В настоящее время я могу хранить носители на SD-карте и при сканировании медиафайлов, они отображаются в папке "images", в галерее Android.
Ответы
Ответ 1
Я думаю, что правильный способ хранения ваших изображений, доступных галереями, заключается в записи файлов в этот каталог.
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-карте и при сканировании медиафайлы, они отображаются в папке "images", в галерее Android.
Репрезентация зависит от используемого вами приложения Gallery.
В галерее Android по умолчанию следует создать "Альбомы", названные в честь папки, в которой находятся мультимедийные файлы.
Изменить: вы не увидите вновь созданное изображение, если вы не запускаете медиа-сканер или не добавляете его в базу данных MediaStore.
Ответ 2
Есть > 1 миллиард Android-устройств, представляющих тысячи моделей устройств, с сотнями различных "галерейных" приложений (предварительно установленных или установленных пользователем). Для любого приложения "галереи" нет необходимости иметь концепцию папок, не говоря уже о том, чтобы сторонние разработчики контролировали эти папки.
Следовательно, нет общего способа достижения вашей цели, кроме как написать собственное приложение.
Ответ 3
Если вы можете хранить видео и изображения во внешнем хранилище, например, на SD-карте, я предполагаю, что вы знаете, как использовать "ФАЙЛЫ"
поэтому вам просто нужно указать местоположение, которое вы хотите сохранить, и создать его (если оно не существует)
что-то вроде:
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.