
Quantum Harmonizer
01.05.2018
19:07:52

Константин
01.05.2018
19:09:46
Главное чтоб оно умело находить эти долбанные BLE. Я много перепробовал разных приложений только то что вы выше с rx и то что я выложил норм ищут и работают. Остальные шлак :(
Можете apk кинуть?
Я погляжу как оно мои железяки ищет

Google

Quantum Harmonizer
01.05.2018
19:11:42
Искать вообще несложно, это достаточно неплохо описано.

Константин
01.05.2018
19:13:18
Я не нашел нормального описания и реализации которая действительно норм работает

Quantum Harmonizer
01.05.2018
19:14:01

Константин
01.05.2018
19:14:53

Quantum Harmonizer
01.05.2018
19:15:14

Константин
01.05.2018
19:15:28
https://github.com/danasf/hm10-android-arduino
Вот более простое. Но оно очень плохо ищет железки. Вроде у всех одна реализация поиска, типа на одних же типах. А результат координально разный :(

Paha
01.05.2018
22:43:02
Народ такой вопрос. В программировании я полный профан, и в качестве начинаний хочу попробовать автоматизировать часть своей работы. Собственно хотелось бы написать приложуху для андроида для отправки шаблонных смс( не спам , настройка и прошивка гпс приборов через смс) Собственно подскажите в какую сторону копать с самой отправкой смс , выбор номера с которого отправляю (ибо телефон двухстрочный и основной номер личный) загнать нужные шаблоны текста, будь то обновление прошивки, выбор номеров из экселевской таблицы. И есть ли варианты прикрутить например кнопку в стандартном приложении сообщений( это если не выгорит с всем задуманым) просто как шаблоны с описанием.

Ivan
02.05.2018
00:05:18

Paha
02.05.2018
00:08:40

Блаженный
02.05.2018
00:22:33
Кот линь сейчас - это преимущественно андроид?

Ivan
02.05.2018
00:30:21

Google

Sergey
02.05.2018
06:55:36

Алексей
02.05.2018
07:37:08

Konstantin
02.05.2018
07:47:51

Sergey
02.05.2018
07:58:58
Бреслав будет толкать на IO
https://events.google.com/io/schedule/?section=may-10&sid=7387180b-b1dd-49c3-bddf-de3f87ae1990&gclid=CjwKCAjwoKDXBRAAEiwA4xnqvwtI8vqf5G4nXVXOTThpGwoEMwtcU-Sue-JxKvnYMEtDXhuLWHLqIxoCle8QAvD_BwE

Алексей
02.05.2018
08:04:07
А, вон как
Спасибо

Quantum Harmonizer
02.05.2018
10:38:17
/**
* Blah blah [Class.function] blah [Class.overload(CharSequence)]
*/
Второй вариант не подсвечивается и не кликается, ЧЯДНТ?
Понятно, меня тоже нужно слать в гугл.
https://youtrack.jetbrains.com/issue/KT-15984

Никита?❄️
02.05.2018
12:46:22
Добрый день всем!
Может кто посоветовать http-клиент на корутинах?

Egor
02.05.2018
12:48:21
launch { OkHttp }?
Ладно, не смешная шутка

Vladimir
02.05.2018
12:54:08

Gleb
02.05.2018
12:59:13
Retrofit + kotlin-coroutines-retrofit

Алексей
02.05.2018
13:00:43

Никита?❄️
02.05.2018
13:37:30

Алексей
02.05.2018
13:48:29

Vladimir
02.05.2018
13:49:21

Алексей
02.05.2018
13:49:54
Потому что обработка параллельно идет

Google

Алексей
02.05.2018
13:50:27
Ну то есть получил пост-запрос, прокинул на обработку в куда-то

Vladimir
02.05.2018
13:52:18
Ну так эту обработку надо же дождаться, а потом отправлять ответ, так?

Алексей
02.05.2018
13:54:36
Так если ответ отправляется не из блока в посте?

Sergey
02.05.2018
14:03:33

Vladimir
02.05.2018
14:12:56

Алексей
02.05.2018
14:13:26
Да
Вернуть ссылку на deferred я не могу

Igor
02.05.2018
14:16:03

Sergey
02.05.2018
14:16:46
гоняет то через один, но плодить будет треды на каждый запрос

Sergey
02.05.2018
14:16:48
а если он синхронные не значит ли это по 1 потоку на конекшен?

Sergey
02.05.2018
14:17:25

Vladimir
02.05.2018
14:17:59
Вернуть ссылку на deferred я не могу
Я не совсем понимаю проблему, видимо.
В блоке post можно вызвать suspend-функцию, пока она не выполнится, ответ отправлен не будет.
Как сделать так, чтобы она ждала чего-то извне - это уже не к ktor, это типичная задача при работе с корутинами.

Sergey
02.05.2018
14:18:09

Igor
02.05.2018
14:19:35

Sergey
02.05.2018
14:19:56
я смотрел, по 1 потоку, без чудес
просто обернуть его в корутины не поможет

Igor
02.05.2018
14:21:11

Алексей
02.05.2018
14:21:58

Vladimir
02.05.2018
14:23:24

Google

Алексей
02.05.2018
14:26:14
Пардон, это старая задумка
Хотя суть та же

Admin
ERROR: S client not available

Алексей
02.05.2018
14:27:08
На данный момент я кладу коллбэки, внутри которых происходит ответ, а до вызова коллбэков всё обрабатывается где-то там

Vladimir
02.05.2018
14:38:33

Алексей
02.05.2018
14:38:56
Я глянул только что

Vladimir
02.05.2018
14:39:22
А вообще лучше не передавать ApplicationCall за рамки кода, ответственного за непосредственно обработку HTTP-запросов

Алексей
02.05.2018
14:39:45
В общем, ситуация такая, что где будет вызвана корутина для обработки suspend лямбды с ответом - неизвестно
Учитывая, что у нас не должно быть ограничений в обработке запроса

Vladimir
02.05.2018
14:43:23
А какие варианты?
Обернуть свою хитрую логику и вызовы внешних штуковин в suspend-функцию, возвращающую непосредственно ответ.
Тогда в post-блоке будет только вызов этой функции и передача ответа клиенту.

Алексей
02.05.2018
14:45:06

Vladimir
02.05.2018
14:48:04

Алексей
02.05.2018
14:48:22
То есть там неизвестно что

Vladimir
02.05.2018
14:55:12
То есть там неизвестно что
Ну тогда это лучше там внутри и разруливать.
Наружу - только suspend fun process(request): Response.
А внутри - suspend-функции, оборачивание коллбеков, пулы потоков для выполнения блокирующего кода и прочее в таком духе.
Это конечно если вообще связываться с корутинами.

Алексей
02.05.2018
14:56:43
Понял
кстати
Я правильно понял, что синхронизации в корутинах - не работают?

Машков
02.05.2018
14:58:09
Смотря какие

Google

Машков
02.05.2018
14:59:06
Synchronized и пары lock-unlock не должны быть разделены suspendable границей

Алексей
02.05.2018
14:59:45
А можно подробней?

Машков
02.05.2018
15:00:06
Так как восстановленная после сна корутина может быть запущена в другом потоке
Тогда как локи должны браться и освобожжаться из одного и того же потока

Vladimir
02.05.2018
15:01:02
Я правильно понял, что синхронизации в корутинах - не работают?
Стандартная синхронизация с блокировками не то чтобы не работает, но это лучше никогда не использовать (т.к. блокировки потоков).
Есть свои мьютексы - https://github.com/Kotlin/kotlin-coroutines/blob/master/kotlin-coroutines-informal.md#mutexes
Можно навелосипедить, если чего-то не хватает в этом плане.

Машков
02.05.2018
15:01:19
Monitorenter и monitorexit также должны быть исполнены в одном потоке
Иначе возникнет исключение

Алексей
02.05.2018
15:01:50
То есть корутина может уснуть в одном потоке, а проснуться в другом
Так?

Машков
02.05.2018
15:02:24
Но если через "критическую секцию" не проходит линия возможного разрыва, то использовать эти примитивы можно