Maxim Firsov @FirsofMaxim
Mobile developer, Golang backend developer
Информация
- В рейтинге
- 4 401-й
- Откуда
- Снежинск (Челябинская обл.), Челябинская обл., Россия
- Дата рождения
- Зарегистрирован
- Активность
Специализация
Backend Developer, Mobile Application Developer
Senior
Android SDK
Kotlin
Java
Golang
PostgreSQL
SWIFT
iOS development
Android development
А кто-нибудь понимает как сделать аналог Observable.amb (запуск нескольких операций паралельно, возврат результата только, как только сработает первая операция, остальные отменяются)?
Ну вообще их 4 может быть, это терапевтические медицинские устройства. Добавлять по-одному довольно муторно выходит для пользователей.
Да локация нужна как системный сервис, CompanionApi вроде как доверенное и ему пермишен локации не нужен, но сервис таки требуется.
Ну вот я про этот системный диалог говорю, как в нем выбрать сразу 2 девайса? Там singleSelect и повлиять я не смог на это.
Да это шаг вперед, согласен, но я не нашел способа добавить больше чем 1 устройство за раз. Что интересно, я могу показать все нужные устройства, но вот добавлять системный UI дает только по одному.
Я настолько намучался с этим, что перевел и выложил на хабре цикл статей по BLE для андроид.
не устойчивое API (часто используется рефлексия), сырые драйвера/чипсеты даже у известных вендоров.
Как Android разработчик в области Bluetooth-Low-Energy переживаю аналогичные чувства, правда в меньшей степени, после 8ки стало получше, но все равно не фонтан (не iOS).
с джойстиками нормально, от PS4 да лучшие.
Спасибо за ностальгию, когда-то работал админом в челябинском клубе "Полигон" (в начале 2000х) , веселые времена конечно были.
Знаете, формат "Перевод" подразумевает такое (минимум переводческого вмешательства). Если вам есть что сказать - сообщество всегда радо этому, пишите статью! Если не нравится стиль перевода (cut&paste of translate google), тоже есть выход - переводите сами, лучше и качественнее, сообщество будет также радоваться новому интересному контенту.
В переводах всегда указывается ссылка на автора и его статью, мой перевод не исключение: https://bladecoder.medium.com/kotlins-flow-in-viewmodels-it-s-complicated-556b472e281a
Ассиметричный - это батут рогозина?
Что-то история с TrustAllCerts вообще не нравится...
Провел ревью своего старого проекта и схватил facePalm (нашел ошибку в формировании dagger-компонента), ты прав концептуально одинаковый подход.
Так-то да, но дьявол в деталях.
Про кодовую базу: за 10+ лет коммерческой разработки повезло один раз, увидел эталонный проект, испытал кодерский кайф.
Ну я перехожу на другую реализацию: https://habr.com/ru/company/yandex/blog/419295/
Bluetooth сделан адско в Android, ситуация меняется от версии к версии (улучшается), но принципы остаются примерно постоянные:
работаем последовательно (глобальная очередь задач)
используем небольшие задержки между принципиальными фазами (connecting, bonding, read/write characteristics)
для избежания блокировки main-thread, лучше все работу организовать на отдельном потоке (пуле потоков)
закладывать в код, ситуации обрыва подключения и его восстановления
Разбейте задачу на подэтапы:
определение высоты антенны (сопоставить рельеф вышек и места антенны)
юстировка положения антенны (делается на месте) + CellInfo аппа для Android.
Сам год назад решал аналогичную проблему.