Форум программистов, компьютерный форум, киберфорум
Наши страницы
Программирование Android
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.56/9: Рейтинг темы: голосов - 9, средняя оценка - 4.56
GhostMan
Заблокирован
#1

Адреса директорий (папок), содержащих изображения

20.08.2012, 19:17. Просмотров 1659. Ответов 6
Метки нет (Все метки)

Здравствуйте!
Как узнать адреса всех директорий, в которых есть картинки? Т.е. как в галереи стандартной, имя папки высвечивается и в ней картинки есть… мне нужно узнать полные адреса этих папок…

P.S..: Пишу с телефона, поэтому не сильно подробно, но надеюсь понятно объяснил проблему…
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
20.08.2012, 19:17
Ответы с готовыми решениями:

Передача адреса изображения для ViewImage
Здравствуйте. Имеется массив адресов (как я понял): private static final...

Как достать из телефонной книги адреса чатов, адреса проживания и сайты
Здравствуйте, как достать из телефонной книги адреса чатов, адреса проживания и...

Как получить список папок (директорий) в каталоге
Подскажите как можно получить список папок? Мне пришла на ум идея: ...

Создание директорий, файлов и изображения
Всем привет! Столкнулся с такой проблемой: Есть код для создания директории и...

Вложенные каталоги: как получить изображения из вложенных директорий?
Добрый день. Я получаю все изображения из заданной директории:...

6
TanT
эволюционирую потихоньку
467 / 465 / 91
Регистрация: 30.06.2009
Сообщений: 1,399
21.08.2012, 14:37 #2
рекурсивный поиск по каталогам как вариант, ниже пример для поиска mp3, вам нужно будет поменять расширение искомых файлов.
в примере для сохранения используется объект Track, вам нужен скорее всего просто String.

Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
/**
     * Find all tracks in source folder
     */
    public List<Track> createMediaLibrary() {
 
        final File home = new File(MEDIA_PATH);
 
        final List<Track> tracks = new ArrayList<Track>();
        listTrack(home, tracks);
        Collections.sort(
            tracks,
            new Comparator<Track>() {
                @Override
                public int compare(final Track lhs, final Track rhs) {
                    return lhs.toString().compareTo(rhs.toString());
                }
            }
        );
        musicTracks = tracks.toArray(new Track[tracks.size()]);
 
        Log.v(TAG, "Find mp3 files " + musicTracks.length);
 
        return tracks ;
    }
 
    /**
     * Find and add track to list
     * @param folder the current folder for search
     * @param tracks the storage of tracks
     */
    private void listTrack(final File folder, final List<Track> tracks) {
        for (final File file : folder.listFiles()) {
            if (file.isDirectory()) {
                listTrack(file, tracks);
            } else if (file.getName().endsWith(".mp3")) {
                tracks.add(new Track(file));
            }
        }
    }
1
GhostMan
Заблокирован
24.08.2012, 01:38  [ТС] #3
Цитата Сообщение от TanT Посмотреть сообщение
рекурсивный поиск по каталогам как вариант, ниже пример для поиска mp3, вам нужно будет поменять расширение искомых файлов.
в примере для сохранения используется объект Track, вам нужен скорее всего просто String.
Извините, я не очень понял данный код...Есть ли какие-либо статьи, где можно почитать о рекурсивном поиске файлов в Android OS? (а то в google.com ничего не нашел по этой теме)

Заранее спасибо!
0
V0v1k
1160 / 984 / 1
Регистрация: 28.06.2012
Сообщений: 3,462
24.08.2012, 02:16 #4
Цитата Сообщение от GhostMan Посмотреть сообщение
где можно почитать о рекурсивном поиске файлов в Android OS
причем здесь андроид, Джаву учи, элементарный джава код не привязаный к андроиду....

Добавлено через 10 минут
для такой элементарщины статьи не пишу, на первом курсе такие проги на сишке писали...
0
TanT
эволюционирую потихоньку
467 / 465 / 91
Регистрация: 30.06.2009
Сообщений: 1,399
24.08.2012, 06:50 #5
GhostMan, попробую объяснить

Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
/**
     * Рекурсивный поиск фалов в директории
     */
    public List<String> createMediaLibrary() {
 
       // корневой каталог
        final File home = new File(путь до корневого каталога);
 
       // создаём список для хранения найденных путей к файлам
        final List<String> files= new ArrayList<String>();
        // рекурсивно ищём файлы
        searchFile(home, files);      
 
        return files;
    }
 
    /**
     * рекурсивно ищём файлы
     * @param folder the текущая папка в которой происходит поиск
     * @param files the список для хранения найденных путей к файлам
     */
    private void searchFile(final File folder, final List<String> files) {
        
        // перебираем все элементы в директории, там могут быть и файлы и директории               
            for (final File file : folder.listFiles()) {
            // если элемент директория, то вызываем наш метод поиска для этой директории,
           // собсвенно это и вся рекурсия
            if (file.isDirectory()) {
                searchFile(file, files);             
            }
              // если элемент файл заносим данные в список
               else if (file.getName().endsWith("твоё расширения файла png, jpg")) {
                tracks.add(file.getAbsolutePath());
            }
        }
    }
1
GhostMan
Заблокирован
24.08.2012, 10:20  [ТС] #6
Цитата Сообщение от V0v1k Посмотреть сообщение
причем здесь андроид, Джаву учи, элементарный джава код не привязаный к андроиду....

Добавлено через 10 минут
для такой элементарщины статьи не пишу, на первом курсе такие проги на сишке писали...
Слушай, я на C/C++ тоже знаю, как это сделать, а java только учу...И хоть они и похожи разница все же есть и существенная.
Да... и меня не учили этому в универе, я только пойду на 1 курс.
И твои статьи мне тож не нужны, я лишь спросил, где можно почитать за это...
0
GhostMan
Заблокирован
24.08.2012, 17:07  [ТС] #7
Цитата Сообщение от TanT Посмотреть сообщение
GhostMan, попробую объяснить
Большое спасибо Вам за подробный ответ - вроде все ясно)
1
24.08.2012, 17:07
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
24.08.2012, 17:07

Как получить адреса папок
Нужно получить массив, элементами которого будут адреса папок содержащиеся в...

Опрос серверов Apache (количество файлов, папок, адреса)
Появилась идея написать программу для опроса серверов Apache на количество...

Копирование определённого файла в каждую из папок, содержащих файл с именем, подпадающим под заданный шаблон
Добрый день. Помогите пожалуйста с реализацией. Существует большой объём...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru