Форум программистов, компьютерный форум, киберфорум
Программирование Android
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.67/6: Рейтинг темы: голосов - 6, средняя оценка - 4.67
5 / 5 / 5
Регистрация: 20.07.2014
Сообщений: 215
1

Как загрузить файлы с сервера по очереди

22.11.2018, 22:29. Показов 1104. Ответов 5

Author24 — интернет-сервис помощи студентам
Как реализовать загрузку файлов по очереди?

Язык Kotlin:
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
class PreviewPresenterImpl
    @Inject constructor(view: PreviewView,
                        private val interactor: HistoryInteractor,
                        private var disposable: CompositeDisposable = CompositeDisposable())
    : BasePresenter<PreviewView>(view)
 
    override fun loadFiles(originalPathways: ArrayList<String>) {
        for (fileUrl in originalPathways) {
            disposable.add(interactor.downloadFile(fileUrl)
                    .observeOn(AndroidSchedulers.mainThread())
                    .subscribeOn(Schedulers.io())
                    .flatMap(this::saveFile)
                    .subscribe(
                            { file -> files.add(file.absolutePath) },
                            { error -> Log.e("TAG", "{$error.message}") },
                            { Log.d("TAG", "completed") })
            )
        }
 
        view.onFilesLoadedComplete(files)
    }
понятно что цикл завершает работу намного раньше чем загружаются файлы, а как сделать что бы все файлы загрузились по очереди, или как узнать что все загрузки завершены?

код рабочий, проблема в том что цикл закачивается раньше чем завершатся загрузка (что как бы логично), соответственно метод оно то вызвало, а толку от этого никакого.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
22.11.2018, 22:29
Ответы с готовыми решениями:

Как в WebView загрузить HTML и CSS файлы которые находятся в String
Здравствуйте! Такой вопрос. HTML и CSS файлы находятся, например, в String A и B. C HTML все...

Через Indy загрузить файлы с сервера dropbox (SSL)
Пользуюсь скриптами JS, автоматизируя загрузку файлов с dropbox. До сего момента непосредственную...

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

Как загрузить html - документ из удаленного сервера?
Добавлено через 13 часов 56 минут что никто не в курсе?)

5
1570 / 1168 / 426
Регистрация: 08.05.2012
Сообщений: 5,219
22.11.2018, 23:42 2
Почему бы не сделать всю загрузку в одном потоке, а потом уже в onComplete/onSuccess вызвать какой-то там метод?
0
5 / 5 / 5
Регистрация: 20.07.2014
Сообщений: 215
23.11.2018, 00:05  [ТС] 3
пхаха)) так в этом и вопрос, как сделать загрузку в одном потоке?
0
1570 / 1168 / 426
Регистрация: 08.05.2012
Сообщений: 5,219
23.11.2018, 09:09 4
Например так:
Java
1
.flatMapPublisher(Flowable::fromIterable)
0
5 / 5 / 5
Регистрация: 20.07.2014
Сообщений: 215
23.11.2018, 13:20  [ТС] 5
ExFau$t, не понимаю куда нужно это добавить.
0
1570 / 1168 / 426
Регистрация: 08.05.2012
Сообщений: 5,219
23.11.2018, 18:03 6
Нужно создать поток, подать на вход список, метод выше пробегает этот список. Типо такого:
Java
1
2
Single.just(originalPathways)
                    .flatMapPublisher(Flowable::fromIterable)
Дальше уже твой запрос, но метод view.onFilesLoadedComplete(files) должен быть вызван по окончании потока, то бишь в onComplete/onSuccess/onNext.
0
23.11.2018, 18:03
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
23.11.2018, 18:03
Помогаю со студенческими работами здесь

JavaScript: Как загрузить с сервера шрифт, используемый на странице ?
Знаю, что можно в инете загружать и устанавливать на комп пользователя шрифт используемый на...

Как загрузить файл с сервера из директории, которая выше www?
Здравсвуйте! Помогите новичку: Пожскажите, пожалуйста, как можно загрузить файл НЕ из...

Как загрузить текстовый файл с сервера в TStringList или Memo?
Привет друзья. :) Вопрос у меня такой, как осуществить загрузку текстового файла с сервера...

Как загрузить файлы на FTP
Добрый день форумчани , возник вопрос , как загрузить файлы на серв гружу таких способом , ...


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

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru