Jak utworzyć folder specyficzny dla aplikacji w galerii Androida?
Buduję aplikację na Androida " XYZ", w której użytkownicy będą przechowywać pliki multimedialne, takie jak zdjęcia i filmy. Dlatego chciałbym utworzyć folder w galerii Androida o nazwie " XYZ " i przechowywać wszystkie media specyficzne dla aplikacji w "XYZ". Jak to osiągnąć?
Obecnie jestem w stanie przechowywać media na sdcard i przy skanowaniu plików multimedialnych, pojawiają się one w folderze "images", w galerii Androida.
3 answers
Myślę, że właściwym sposobem przechowywania zdjęć dostępnych w galeriach jest zapisywanie plików do tego katalogu.
static final String appDirectoryName = "XYZ";
static final File imageRoot = new File(Environment.getExternalStoragePublicDirectory(
Environment.DIRECTORY_PICTURES), appDirectoryName);
I dla filmów
static final File videoRoot = new File(Environment.getExternalStoragePublicDirectory(
Environment.DIRECTORY_MOVIES), appDirectoryName);
I stworzyć obraz
imageRoot.mkdirs();
final File image = new File(imageRoot, "image1.jpg");
// open OutputStream and write the file
Jeśli dodasz jakieś pliki i otworzysz galerię, powinieneś zobaczyć album "XYZ". Pamiętaj, że nie zobaczysz albumu, jeśli katalog jest pusty.
I o twoich słowach
Obecnie, jestem w stanie przechowywać media na sdcard i na skanowanie plików multimedialnych, pojawiają się w folder "Obrazy" w galerii Androida.
Reprezentacja zależy od aplikacji galerii, której używasz. Domyślna Galeria Androida powinna utworzyć "albumy" nazwane od folderu, w którym znajdują się pliki multimedialne.
Edit: nie zobaczysz nowo utworzonego obrazu, jeśli nie uruchomisz skanera multimediów lub nie dodasz go do bazy danych MediaStore.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2014-02-04 21:12:35
Istnieje > 1 miliard urządzeń z Androidem, reprezentujących tysiące modeli urządzeń, z setkami różnych aplikacji "galerii" (wstępnie zainstalowanych lub zainstalowanych przez użytkownika). Nie ma wymogu, aby każda aplikacja "Galeria" miała koncepcję folderów, nie mówiąc już o tym, aby Programiści zewnętrzni kontrolowali te foldery.
Stąd nie ma ogólnego sposobu na osiągnięcie celu, innego niż napisanie własnej takiej aplikacji.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2013-12-11 15:55:36
Jeśli jesteś w stanie przechowywać filmy i obrazy w pamięci zewnętrznej, takiej jak karta SD, zakładam, że wiesz, jak używać "plików"
Dlatego wystarczy nazwać lokalizację, w której chcesz zapisać i utworzyć ją (jeśli nie istnieje)
Coś w stylu:
File file = new File(Environment.getExternalStorageDirectory() +"/XYZ/");
if(!file.exists()) //check if file already exists
{
file.mkdirs(); //if not, create it
}
To jest Twój Folder katalogowy i możesz w nim zapisać, co tylko chcesz.
Coś w stylu:
File imageFile = new File(file.toString() + "image" + ".jpg");
Spowoduje to utworzenie pliku obrazu o nazwie " image.jpg " w katalogu XYZ.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-01-05 08:25:58