|
Библиотека от Apache для работы с FTP на android. Ошибка
|
|||
---|---|---|---|
#18+
приложение использует библиотеку org.apache.commons.net.ftp для взаимодействия с удаленным хостом по FTP протоколу. В приложении имеются 3 шт. Fragment. Каждый фрагмент отвечает за (подключение к серверу, авторизацию пользователя, получение списка файлов с хоста). Fragment - ы взаимодействуют с MainActivity (далее MA) с помощью интерфейсов определенных в каждом фрагменте. Один из Fragment-ов Код: java 1. 2. 3.
в свою очередь MA реализует эти методы. И когда в Fragment срабатывает нажатие кнопки в MA происходит вызов этого метода. Так у меня работает взаимодействие между Фрагментами и МА. Теперь обрисую ПРОБЛЕМУ: -- 1 фрагмент получает от пользователя имя Хоста и Порт по нажатию на кнопку, передает информацию в MA. -- MA совершает подключение к хосту и уведомляет пользователя о прогрессе (подключено или не подключено) -- после удачного соединения 2 фрагмент получает от пользователи Логин и Пароль по нажатию на кнопку, передает информацию в MA. -- MA совершает авторизацию на хосте по полученным данным и уведомляет пользователя о прогрессе (авторизировано или нет) -- после удачной авторизации пользователь переходит к Fragment 3. После загрузки фрамента он должен получить список файлов коренного каталога(ошибка происходит здесь). Подключение, авторизация и получение файлов производятся (из разных Thread). Однако ошибка выплывает только при получении списка фалов. Если совершаю получение файлов в том потоке где происходит авторизации то все OK, однако если совершаю получение из отдельного потока, то выбивает ошибку, которую не могу отследить в Logcat ничего не отображается(участок кода окружен try - cath однако в логи ничего не отправляется). На всякий случай скину все 3 метода. Спасибо большое! Код: java 1.
- это объект класса FTPClient библиотеки commons.net Код: java 1.
- фрагмент в котором находится ListView(принимает список файлов в виде массива строк и отображает их) Код метода подключения к серверу: Код: 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.
Код метода авторизации на сервере: Код: 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. 40.
Код метода получения списка файлов(ошибка тут): Код: 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.
... |
|||
:
Нравится:
Не нравится:
|
|||
24.04.2019, 13:45 |
|
Библиотека от Apache для работы с FTP на android. Ошибка
|
|||
---|---|---|---|
#18+
Я верно понял, что в том месте из доп.потока (где ошибка) идёт прямое обращение к UI? ... |
|||
:
Нравится:
Не нравится:
|
|||
24.04.2019, 15:33 |
|
Библиотека от Apache для работы с FTP на android. Ошибка
|
|||
---|---|---|---|
#18+
Предположительно... Commons-IO разрабатывался не для Андроида. А для обычной Java. Если он не ловит эксцепшен то скорее всего этого экцепшена и правда нету. Просто есть какое-то третье состояние. Молчаливый выход. Есть просто мысль - скачать сорцы (ты наверное так и сделал) http://commons.apache.org/proper/commons-io/download_io.cgi и просто добавить в подозрительный фрагмент побольше логгирования. Вот буквально через каждую строку добавляй чекпоинт. Ситуацию с ошибкой можно будет видеть по меткам времени (надо чтоб оно логгировалось с точностью до милисекунд) ... |
|||
:
Нравится:
Не нравится:
|
|||
24.04.2019, 18:25 |
|
Библиотека от Apache для работы с FTP на android. Ошибка
|
|||
---|---|---|---|
#18+
wadman, нет нет, через поток UI ничего не делается. Абсолютно все методы класса выполняются в отдельном потоке ... |
|||
:
Нравится:
Не нравится:
|
|||
24.04.2019, 23:30 |
|
Библиотека от Apache для работы с FTP на android. Ошибка
|
|||
---|---|---|---|
#18+
Vladamir, а это выполняется в потоке: Код: java 1. 2.
Это не обращение-ли к UI? ... |
|||
:
Нравится:
Не нравится:
|
|||
25.04.2019, 07:59 |
|
Библиотека от Apache для работы с FTP на android. Ошибка
|
|||
---|---|---|---|
#18+
wadman, нет ... |
|||
:
Нравится:
Не нравится:
|
|||
25.04.2019, 12:33 |
|
Библиотека от Apache для работы с FTP на android. Ошибка
|
|||
---|---|---|---|
#18+
wadman, выше инициализирован поток, в котором должен отработать метод ... |
|||
:
Нравится:
Не нравится:
|
|||
25.04.2019, 12:35 |
|
Библиотека от Apache для работы с FTP на android. Ошибка
|
|||
---|---|---|---|
#18+
Vladamir, FileFragment - это что? Не часть пользовательского интерфейса? https://developer.android.com/guide/components/fragments ... |
|||
:
Нравится:
Не нравится:
|
|||
25.04.2019, 13:42 |
|
|
start [/forum/topic.php?fid=11&msg=39805886&tid=1329632]: |
0ms |
get settings: |
19ms |
get forum list: |
6ms |
check forum access: |
1ms |
check topic access: |
1ms |
track hit: |
37ms |
get topic data: |
3ms |
get forum data: |
1ms |
get page messages: |
231ms |
get tp. blocked users: |
0ms |
others: | 3066ms |
total: | 3365ms |
0 / 0 |