Ivansuper
Тебе сервис зачем нужен?
Anonymous
Мне по итогу похоже придется маппить между плагином и Unity скриптами
А что если сделать одну дичь.. Данные кидать в преференс а в сервисе поставить onPreferenceChangedListener 😂
Anonymous
Но зато 100% напролом работать будет)
Vadim
Кстати вообще мне сервис вроде не нужен
Ivansuper
Можно сделать ход конем и организовать все в удобном месте и классе. Но сервис просто запускать и останавливать
Ivansuper
Если ты будешь качать данные игры (например), то нужен
Ivansuper
Юзер может свернуть игру пока качает
Vadim
Я для этого DW manager юзаю
Vadim
Мне как раз нужна прослойка удобная для него
Ivansuper
Но не обязательно "писать код в классе сервиса мол он в сервисе выполняется". Ты можешь его поднять только для того чтобы не убило приложение
Vadim
Ладно, спасибо. Попробую без сервиса сообразить, на схеме он у меня вообще не в тему
Vadim
Просто класс пойдет
Ivansuper
Ну смотри сам по ситуации
Аброр
не отрисовываются превьюшки, с версией v7:28.0.0 тут говорили добавлять в стили Base, когда с поддержкой ActionBar всё нормально
Аброр
как поступить если мне надо убрать actionbar
Аброр
если кому то пригодится - https://stackoverflow.com/questions/52017124/android-studio-3-1-4-rendering-problems-for-design-blueprint
Глеб
Господа! такой вопрос: 🤔 а как вы эрыксом ошибки отлавливаете...? точнее как отлавливать чтобы источник не закомплитился? тупо всё маппить в "",-1, empty, Nan и проч? или как-то покрасивше можно?
Ivansuper
А почему не отдавать данные в контейнере, внутри которого есть булево "обосралось"?
Глеб
Не ... ну можно и так ... я вот и спрашиваю кто как делает ... можно Optional н-р пустой и тд.... ща наткнулся на "retry" (Reactor3) - вроде обещают рестарт sequence by error
Глеб
По-ходу это общее reactive-поведение в любой либе, что эррор - терминален
Сергій
https://android-developers.googleblog.com/2018/10/modern-background-execution-in-android.html
Ivansuper
https://android-developers.googleblog.com/2018/10/modern-background-execution-in-android.html
»To write modern apps, it's important to learn how to run your background tasks in modern fashion Звучит очень жирно
Глеб
https://android-developers.googleblog.com/2018/10/modern-background-execution-in-android.html
блин.... вот бесят аж этими советами отправляют людей в службы в bg-execution предоставив рум - ipc-негодный и файрбейз такойже
Сергій
радуйтесь что хоть так можно, на iOS и так нельзя =)
Сергій
но скоро и у нас не будет
A
И хорошо.
здарова
Сергій
что нельзя? работу в бекграунде?
аналог JobScheduler, его нету
Глеб
радуйтесь что хоть так можно, на iOS и так нельзя =)
Да всё правильно написано, огорчает полное отсутствие ipc - поддержки. и отсюда весь толк - сходит на нет
A
аналог JobScheduler, его нету
ну это спорная вещь, ей можно злоупотреблять
Глеб
радуйтесь что хоть так можно, на iOS и так нельзя =)
вот смотри... меня ща закидают яйцами... ну да ладно только когда мы нормально заимплементили contentProvider (process=":storage") - стала возможна нормальная поддержка работы в schedulerService(process=":background") и подписка планировщика на uri-content-changes для синхронизации в фоне.... и это всё работает... хорошо ... очень гибко... но это жесть
Сергій
A
например?
A
в ios
Сергій
в ios
сайлент пуши?
Сергій
JobScheduler при правильном обращении очень удобная вещь
Daniil
Народ, Гугель еще не придумал способ InApp-рейтинга, чтобы прямо из приложения можно было звездочки ставить? По старинке надо Google Play Intent слать?
Daniil
Или может 3rd party есть че?
A
сайлент пуши?
ну ты сильно не сможешь злоупотреблять, и как минимум они не работают если приложение не в оперативке
Сергій
у вас вообще если приложение убрали из меню недавних, ничего нельзя в фоне делать )
Глеб
зато телефон наконец-то не садится до обеда )
то есть понимаешь, мне скажем чтобы из аппа в службу спокойно перетащить какой-нибудь syncSmth(). нужно либо дефолт процесс иметь, либо если делать "отдельно" - железно знать что storage общий, консистентный и data-changes общие ... и тут пройдя 100 огордов с бродкастами - в итоге возвращаешься к стандартному контент провайдеру - и всё шикардос... но писанины - жесть 😕
Глеб
🤷‍♂️
Вот поэтому на их правильные советы смотришь - и всё верно, и не поспорить, ... но слёзы наворачиваются и бровь подёргивается 😁
A
у вас вообще если приложение убрали из меню недавних, ничего нельзя в фоне делать )
ну так скачал 400 приложений которые на фоне майнят биткоины и норм телефон 4.5 секунды держит)
Ivansuper
А если не броадкасты, а бинд к сервису в приложении и по AIDL сделать что требуется?
Ivansuper
На том конце синхронизировать
Глеб
🤷‍♂️
ну кстати подписка джобскедулера на ContentUri changes с мин24 - шикарная штука. Работает! То есть если ты локально чет поменял у себя в провайдере, планировщик ловит uri-change и стартует н-р синк с бэком, либо до ближайшего коннекта в интернет 👍
Глеб
🤷‍♂️
https://developer.android.com/reference/android/app/job/JobInfo.Builder.html#addTriggerContentUri(android.app.job.JobInfo.TriggerContentUri)
Сергій
замена броадкастам на видео/фото
Sergey
Народ, как лучше быть с ситуациями, когда загружаются данные, например, отправлен запрос на сервер для логина - использовать ProgressBar и блокировать весь интерфейс или не блокировать, а отменять запросы?
Ivansuper
С логином всегда показывается какая-нибудь штуковина, которая занимает пользователя пока программа логинится на сервер.
Ivansuper
И зависит от типа данных и смотря как они в ТЗ описаны
Ivansuper
Условно, ты можешь открыть экран, пойдет обновление. Можешь переоткрыть экран — старое пойдет в молоко/отменится, новый запрос пойдет
Dmytro
Вопрос: надо спарсить rates, но поскольку он не массив, а именно объект, то не совсем понимаю, как это можно сделать. Кто может подсказать решение?
Ivansuper
(притянуто, но в целом для примера)
Ivansuper
Помоему Gson нормально распределяет по мапам
Sergey
С логином всегда показывается какая-нибудь штуковина, которая занимает пользователя пока программа логинится на сервер.
Ну поскольку ProgressDialog устарел, а ProgressBar, вроде бы, не блокирует экран, то я полагаю, что надо что-то вроде ProgressDialog все равно использовать?
Ivansuper
Бар тебе не нужен, потому что тут нет никаких процентов
Ivansuper
ProgressDialog устарел или нет хз. Его можно обернуть в DialogFragment и вперед
Ivansuper
Иногда блочат поля ввода, а вместо кнопки или в самой кнопке начинают крутить что-то
Ivansuper
Можно крутить задизейбленные поля ввода
Ivansuper
(нет)
Konstantin
вокруг оси
Dmytro
Map<String, Double>. Попробуй
Заработало. И впрямь всё неожидано просто Спасибо большое)
Anonymous
Если ты его юзаешь в слепом ините
Ivansuper
Там есть метод onAttached или как то так
Ivansuper
После него можно брать
Ivansuper
Ну и не надо брать после onDestroy
Anonymous
Ну типа в переменной экземпляра присваиваешь сразу значение где юзается метод
Anonymous
Да, я там всегда беру