All streams
Search
Write a publication
Pull to refresh
37
0
Maxim Firsov @FirsofMaxim

Mobile developer, Golang backend developer

Send message

Я настолько намучался с этим, что перевел и выложил на хабре цикл статей по 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+ лет коммерческой разработки повезло один раз, увидел эталонный проект, испытал кодерский кайф.

Bluetooth сделан адско в Android, ситуация меняется от версии к версии (улучшается), но принципы остаются примерно постоянные:

  1. работаем последовательно (глобальная очередь задач)

  2. используем небольшие задержки между принципиальными фазами (connecting, bonding, read/write characteristics)

  3. для избежания блокировки main-thread, лучше все работу организовать на отдельном потоке (пуле потоков)

  4. закладывать в код, ситуации обрыва подключения и его восстановления

Разбейте задачу на подэтапы:

  1. определение высоты антенны (сопоставить рельеф вышек и места антенны)

  2. юстировка положения антенны (делается на месте) + CellInfo аппа для Android.

    Сам год назад решал аналогичную проблему.

Да точно, а самое адское - работа с Bluetooth.

Мне кажется, это превращается в отдельный скилл - настроить Dagger для случаев отличающихся от туториалов.

Подскажите, как это все выглядит с точки зрения необразованного пользователя? Информация каким образом отображается на телефоне?

Мне достался «нахаляву» такой девайс, у них была акция для разработчиков, присылали бесплатно планшет.

Ну начнем с того, что для работы с открытым жидким свинцом нужна сертификация, спецпомещения, режим работы и тд. ТэБэшник обходил испытательную площадку за километр :)

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