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