Konstantin
Konstantin
Mike
действительно https://developer.android.com/guide/components/processes-and-threads.html?hl=ru#Lifecycle
Глеб
Ну так - startForeground же есть? есть!
А делать "красиво" -
затаскивая RX - и при этом Создавая Глобал-Статик Апликейшн Стейт , для передачи данных - тоже ... смысл тогда?
В одном месте - красоту делаем, говнокодя всё вокруг, чтобы этой красоты добиться)))
Konstantin
Konstantin
rx - может понадобится для цепочки разных действий и фильтров
Глеб
Это единственный способ )))
Konstantin
в ссылке что я привел на developer.android.com об этом сказано
Глеб
А, да - точно! Если ты синхронно, блокировочно, ходишь в сеть в одном из колбыков жц, сервиса (то есть onStart/onCreate/onDestroy) - и еще если ты прибинден к другму фг-процессу, ровно до тех пор пока этот процесс - ФГ
Konstantin
пункт 3-ий, служебный процесс читал, про загрузку данных в сеть?
Глеб
Всё что не фг -можешь вообще не смотреть, потому как в последних версиях андроида - есть очень серьёзные ограничения на работу в фоне
Глеб
Oleg
@neketsh https://android-tools.ru/coding/kak-sozdat-svoyu-sobstvennuyu-biblioteku-android-cherez-jcenter-i-maven-central/
Никита 🙃
Oleg
Случайно наткнулся😁
Никита 🙃
Полезно будет)
Глеб
Mike
Konstantin
Глеб
зачем? Есть же опенсорс ;)
Ну да, ну просто они себя ставят - как очень хороший сервис - и удобный такой навороченый.
И на вид - их прям хочется (но увы для ком. разр. - никак😒)
Oleg
А вот если я хочу все время жизни активити каждые скажем 5 секунд посылать запрос на сервер - как бы такое реализовать? Repeat в rx?
Mike
Oleg
Мне нужно отображать движения маркера на Гугл карте
Oleg
Рест-сервер отдает координаты
Mike
Глеб
Oleg
На бэк я никак повлиять не смогу (
Konstantin
Mike
Глеб
Konstantin
в своих приложениях успешно использую сервисы на всех андроидах на 6, 7, 8.1
Oleg
Типа запускаю боунд сервис, и он в цикле постит новые координаты в очередь сообщений?
Mike
Nick
если надо прям в активти, то можно в лоб - постить в хендлер или во вью раннабл. postDelayed()
Глеб
Nick
из презентера, или what ever ещё откуда
Глеб
Oleg
Но ведь раннабл будет запускаться в мэйн треде
Mike
Nick
да, раннабл этот будет дёргать или ретрофит или что используется
Nick
можно запускать тред в тредпуле
Nick
да что угодно можно накрутить)
Sereja
Чем хэндлер лучше рх интервала
Глеб
Quantum - дело говорит, для скоупа - sart/stop активности - заводить сервис - 0 смысла. Всё то жесамое всё равно делать придётся - вынос в отд поток, шедулинг и тд
Глеб
сам сервис - здесь ничего не даст абсолютно
Глеб
Sereja
Вообще это уже как дефолтная либа чаще идёт)
Глеб
Oleg
То есть мне нужен поток, который будет в цикле обращаться к бэкенду, получать координаты маркера, делать раннабл с этими координатами и постить его в хэндлер мэйн треда для отрисовки маркера на карте
Nick
Олег, как сейчас получаете с сервера координаты?
Oleg
Nick
можно сделать раннабл, который в методе ран обращается к серверу путём которым вы сейчас забираете координату.
в ответе с сервера (успешном\неуспешном) постить в хендлер этот раннабл handle.postDelayer(runnable, DELAY_5_SEC)
Nick
получится что ответ от сервера пришёл - заскедулили запуск на пять секунд
Sereja
Nick
и не забыть при onPause делать handler.removeCallbacks(runnable);
Nick
чтоб беды не случилось вдруг
Konstantin
Gleb сервис повышает вероятность того что во время выполнения асинхронного действия на экране если раздастся звонок - приложение уйдет в бекраунд, запрос этот завершится, а не будет прерван. в доз мод при этом девайс не успеет уйти, в app standby mode - теоретически может, если очень долго будут по телефону говорить, тогда нужно делать white list и/или фореграунд
Mike
Oleg
Глеб
мне кажется, Олег вообще не про IPC говорит
Я понимаю, я про то же - что сервис "в общем процессе",
сорян я не вижу в нём смысла, с таким же успехом без сервиса, запрос запущенный и свернутый просто в активности "скорее всего доживёт"
Реальный смысл сервиса - в любом случае только в отд процессе. (Профит - больше кучи, отдельная приоритезация процесса)
И если хотим - железно "работать в фоне" - startForeground
Всё остальное - "сервис ради сервиса", с самовнушением что "так надёжнее"
Mike
Artem
чет попахивает обманом
Ваня
Банхаммер в студию
Eval
А зачем тебе?
Mike
Заведи себе аккаунт, да и всё.
Anton
Чтобы паблишить вирусы
Anton
Наверное
Roman
Ребята, вопрос. Есть у меня UserReposetory. Логика login/logout должна быть в нем? И Если так, то как правильно организовать задачу показа прогресса? Лістенер передавать не хочеться. Для запроса юзаю Rx+retrofit, архетиктрура - MVVM на компонентах. VM держит в себе репо.
Max
Roman
сделать progressProperty
Тоесть это норма? Так и сделал, просто казалось есть лучшие варианты. Ну и первая часть вопроса- логин/логаут должен быть в репозитории?
Max
Di
как в андроид стилизовать текст, делать списки, выделять некоторые слова. Может есть какие то библиотеки?