Size: a a a

Android Developers

2019 November 14

K

Kopusha in Android Developers
vitaly
Какие вообще есть способы борьбы с коллбек хеллом в андройд? Вот так вот просто если перечислить)
просто корутинами избавишься от 90% коллбэков, потому что это всё разовые циклы: запрос-ответ. Реактивную часть потом надо будет добирать чем-то вроде Rx, Flow, LiveData. В предыдущем предложении зачеркни LiveData.
источник

НШ

Никита Шабалин in Android Developers
Ребят, может кто знает в чем проблема? Уже гугл перерыл, ничего не нашел
источник

MP

Maxim Petlyuk in Android Developers
гайз, кто знает по дизайну каналы
источник

AD

Aleksey D. in Android Developers
Никита Шабалин
Ребят, может кто знает в чем проблема? Уже гугл перерыл, ничего не нашел
источник

AD

Aleksey D. in Android Developers
Maxim Petlyuk
гайз, кто знает по дизайну каналы
@uiux_jobs и там ссылки на каналы/чаты
источник

MP

Maxim Petlyuk in Android Developers
Aleksey D.
@uiux_jobs и там ссылки на каналы/чаты
супер, спс
источник
2019 November 15

V

Viacheslav in Android Developers
No No
Подскажите следующий  case по  чату. Есть класс , который живёт всё время, пока живёт приложение, его задача - слушать входящие сообщения. Все окей.

Надо в presenter передавать данные о новом сообщении, чтобы тот обновлял Вью.
В текущем виде, используется EventBus.
Вопрос в том, норм ли это или же лучше переписать более изящным решением, если переписать , то какое решение посоветуете?
В принципе, есть два варианта:
1. Rx с сабжектами. Тут придётся немного раскурить реактивщину, но материалов чуть более, чем достаточно. Нуркевич одну из лучших книг написал по ним.
2. Корутины с Flow или Channel. У них порог вхождения ниже, но меньше литературы. Из материалов можно посмотреть хорошую оф.доку и доклады Кирилла Розова, он клёвый.

Оба подхода используются, так что "неправильного" нет. Почитай код обоих, выбери, какой больше нравится, если что - переключишься без проблем. Я бы выбрал корутины, т.к. их гугл начинает двигать как основной путь для асинхронщины.
источник

Rl

Roman lastName in Android Developers
Товарищи, нажмите Ctrl-C в консоли и пришлите мне фигню которую она напишет в ответ. У меня просто Ctrl не работает и мне каждый раз приходится закрывать консоль
источник

Rl

Roman lastName in Android Developers
No No
Подскажите следующий  case по  чату. Есть класс , который живёт всё время, пока живёт приложение, его задача - слушать входящие сообщения. Все окей.

Надо в presenter передавать данные о новом сообщении, чтобы тот обновлял Вью.
В текущем виде, используется EventBus.
Вопрос в том, норм ли это или же лучше переписать более изящным решением, если переписать , то какое решение посоветуете?
Можно просто обычным callback реализовать. Очень изи. В начале жизненного цикла presenter'а ты подписываешься на этот синглтон, в конце жизненного цикла presenter'а ты отписываешься от этого синглтона. Метод callback'а реализуешь в Presenter'е
источник

Rl

Roman lastName in Android Developers
Viacheslav
В принципе, есть два варианта:
1. Rx с сабжектами. Тут придётся немного раскурить реактивщину, но материалов чуть более, чем достаточно. Нуркевич одну из лучших книг написал по ним.
2. Корутины с Flow или Channel. У них порог вхождения ниже, но меньше литературы. Из материалов можно посмотреть хорошую оф.доку и доклады Кирилла Розова, он клёвый.

Оба подхода используются, так что "неправильного" нет. Почитай код обоих, выбери, какой больше нравится, если что - переключишься без проблем. Я бы выбрал корутины, т.к. их гугл начинает двигать как основной путь для асинхронщины.
А просто callback не вариант вообще, да?
источник

V

Viacheslav in Android Developers
Roman lastName
А просто callback не вариант вообще, да?
Начнётся адъ и израиль. Что если понадобится подписаться из нескольких мест одновременно? Когда отписываться? Что делать, если при подписке мы хотим получать все сообщения за сессию, а не только те, что придут?

Можно, конечно, накостылить, но гораздо проще сразу делать нормально. У вас же сроки не горят, для себя делаете, так почему бы не начать учить технологию, которая потом точно пригодится? :)
источник

Rl

Roman lastName in Android Developers
Viacheslav
Начнётся адъ и израиль. Что если понадобится подписаться из нескольких мест одновременно? Когда отписываться? Что делать, если при подписке мы хотим получать все сообщения за сессию, а не только те, что придут?

Можно, конечно, накостылить, но гораздо проще сразу делать нормально. У вас же сроки не горят, для себя делаете, так почему бы не начать учить технологию, которая потом точно пригодится? :)
1) Список слушателей 2) Отписываться по окончании ЖЦ Презентера 3) Это уже аргумент. Накидывать еще очередь сообщений не оч, но опять же не сложно и не особо замусорит код
источник

V

Viacheslav in Android Developers
Я искренне не понимаю, что Вы хотите. :) Убедить меня, что rx/корутины не нужны, и можно писать костыли на коллбеках?
источник

CC

CHAKS Chakaev in Android Developers
Здравствуйте! Поможите чайнику?
источник

👨

👨‍💻ᴋᴏʙʏʟʏɴꜱᴋʏɪ in Android Developers
CHAKS Chakaev
Здравствуйте! Поможите чайнику?
источник

M

Malik in Android Developers
No No
Подскажите следующий  case по  чату. Есть класс , который живёт всё время, пока живёт приложение, его задача - слушать входящие сообщения. Все окей.

Надо в presenter передавать данные о новом сообщении, чтобы тот обновлял Вью.
В текущем виде, используется EventBus.
Вопрос в том, норм ли это или же лучше переписать более изящным решением, если переписать , то какое решение посоветуете?
На чем пишешь?
Есть ли Rx в проекте?
источник

QH

Quantum Harmonizer in Android Developers
Roman lastName
Товарищи, нажмите Ctrl-C в консоли и пришлите мне фигню которую она напишет в ответ. У меня просто Ctrl не работает и мне каждый раз приходится закрывать консоль
SIGINT пошлётся)
источник

QH

Quantum Harmonizer in Android Developers
Roman lastName
А просто callback не вариант вообще, да?
Единственно верный вариант же.
источник

Rl

Roman lastName in Android Developers
Viacheslav
Я искренне не понимаю, что Вы хотите. :) Убедить меня, что rx/корутины не нужны, и можно писать костыли на коллбеках?
Да нет. Во первых почему костыли? Это нормальный паттерн. Много бойлерплейт? Да, это был бы аргумент. Удобно распараллеливать работу в корутинах? Тоже был бы аргумент. Просто странно что ты вообще не рассмотрел этот вариант. Корутины сам юзаю, хороший инструмент =)
источник

K

Kopusha in Android Developers
о, броадкастами ещё. Почему вы не рассмотрели этот вариант? Несправедливость.
источник