Information
- Rating
- Does not participate
- Location
- Снежинск (Челябинская обл.), Челябинская обл., Россия
- Date of birth
- Registered
- Activity
Specialization
Backend Developer, Mobile Application Developer
Senior
Android SDK
Kotlin
Java
Golang
PostgreSQL
SWIFT
iOS development
Android development
Я настолько намучался с этим, что перевел и выложил на хабре цикл статей по 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.
Сам год назад решал аналогичную проблему.
Да точно, а самое адское - работа с Bluetooth.
Мне кажется, это превращается в отдельный скилл - настроить Dagger для случаев отличающихся от туториалов.
Подскажите, как это все выглядит с точки зрения необразованного пользователя? Информация каким образом отображается на телефоне?
Мне достался «нахаляву» такой девайс, у них была акция для разработчиков, присылали бесплатно планшет.
Ну начнем с того, что для работы с открытым жидким свинцом нужна сертификация, спецпомещения, режим работы и тд. ТэБэшник обходил испытательную площадку за километр :)