Vitaly
Кто может продемонстрировать всю мощь Rx? Потому что я не могу этого понять, всё равно слишком много строк кода Хотелось бы, чтобы поревьювили кусок кода За помощь отблагодарю денюжкой - пишите в личку)
Владислав
Вопрос такой: "Играюсь сейчас в консоли браузера, пытаюсь и учусь немного кодить с строками и булевыми значениями., иногда не получается с первого раза написать строчку без ошибок, и потом весь текст на смарку, покажите кто может знаеет как вернутся и исправить ошибку и продолжить дальше"
Vitaly
у вас же тимлид есть)
Он оставляет желать лучшего, по ходу он в Android совсем не разбирается
Алексей
И царским указом велит переписывать на Rx?
Vitaly
Хорошо, тогда перенесу на pastebin и кину сюда
Vitaly
И царским указом велит переписывать на Rx?
Да, потому что на iOS он юзает Rx
Алексей
если юзает, то и мощь должен показать)
Vitaly
если юзает, то и мощь должен показать)
Он не может отличить Observable от Subject, точнее говорит, что Subject это не Observable, а совершенно отдельный класс
Алексей
ладно, не будем обсуждать людей, давайте лучше обсуждать ваш код
Владислав
КАк редактировать код в браузерской консоли??((
Владислав
Плиз
Владислав
Help me!!!!
Vitaly
https://gist.github.com/VitalyPeryatin/306335e434ff97fa63cb3522bbc3aa39 Ситуация следующая: В классе SocketCloud происходит подключение к серверу через TCP сокет, как только устройство коннектится к серверу происходит авторизация (сервер и клиент обмениваются ключами, но при этом об этом обмене знает только SocketCloud и этот обмен начинается сразу же как только клиент достучался до сервера). В качестве Observable выступает слушатель сообщений, соответственно этот Observable должен начать работать сразу же после подключения к серверу и до конца жизни приложения или пока не произойдёт какая-то ошибка на сервере. После обмена ключами к этому Observable могут подключаться другие слушатели. После авторизации не исключено, что прийдёт сообщение о повторной авторизации. Определить какое это сообщение (простое или для авторизации) можно по значению лежащем в этом сообщении: connect или authorization
Nikita
Dev tools
Vitaly
Мне не нравится BehaviorSubject его явно надо заменить, но тогда получается ещё больше кода
Селера
Привет, как можно отправлять через firebase каждому приложению РАЗНЫЕ уведомления. То есть, чтобы каждому пользователю отправлялось разное уведомление.
Привет ещё раз. Я по поводу уведомлений. Можно ли для теста из консоли firebase отправить по токену сообщение?
Селера
Тот json, который я отправлял на api, с параметром to возвращает мне следующую инфу: "{\"multicast_id\":6655362788051012769,\"success\":1,\"failure\":0,\"canonical_ids\":0,\"results\":[{\"message_id\":\"0:1556313886275864%307b27c3f9fd7ecd\"}]}" Хочу проверить ещё раз, на примере консоли.
Селера
Да, можно
Я видимо слепой, но необходимого параметра просто не нашёл в консоли.
Сергій
В firebase console меню Cloud Messaging
Селера
Так я там и смотрел. Там при создании уведомления просто нету той опции. Я правда не понимаю. Покажите тупому. Пожалуйста.
Селера
Может быть я ещё не тот токен указываю в json, но я получал его по официальному гайду с firebase: https://firebase.google.com/docs/cloud-messaging/android/client
Сергій
Каком джейсон? Та же все через интерфейс, я сейчас не за компьютером.
R
Повтор при ошибке?
Ruslan
Повтор при ошибке?
retry, retryWhen, repeatWhen плюс к мощи я бы добавил комбинирование нескольких observables. избавляет от коллбек хелл
R
retry, retryWhen, repeatWhen плюс к мощи я бы добавил комбинирование нескольких observables. избавляет от коллбек хелл
Ну тк это караптит стейт те рх скидывает карты и запускает граф с корня, или я чет путаю?
Konstantin
ты чето путаешь
R
ты чето путаешь
Интересно, мне просто всегда казалось что он переподписывает просто слушателя и все снова сдорова происходит, окей спасибо почитаю сорцы
Konstantin
это вроде как от места вызова ретрая зависит
Madiyar
Привет всем. Подскажите пожалуйста как можно сделать так чтобы был какой то основной вью от которого все остальные будут наследовать. Тоесть в основной вью будет создавать и настраивать все повторяющие кнопки и настройки
R
Переподписывает в случае ошибки, а repeat() в случае вызова onComplete()
Сорян я туповат, если есть 5 источников которые создают случайные числа, я их замержу и там сложу, допустим мой чудо генератор дал ошибку во 3м источнике, гарантирует ли ретрай мне что сумма первых двух до ретрая и после будет одинаковой?
Dj
Сорян я туповат, если есть 5 источников которые создают случайные числа, я их замержу и там сложу, допустим мой чудо генератор дал ошибку во 3м источнике, гарантирует ли ретрай мне что сумма первых двух до ретрая и после будет одинаковой?
Я не совсем уверен, но думаю после выброса exception в третьем источнике, то ретрай повешенный на observable, который мержит переподпишет первый и второй источник -> следовательно они сгенерируют другие числа. Но опять таки я такое не делал, стоит самому проверить на достоверность данных
R
Я не совсем уверен, но думаю после выброса exception в третьем источнике, то ретрай повешенный на observable, который мержит переподпишет первый и второй источник -> следовательно они сгенерируют другие числа. Но опять таки я такое не делал, стоит самому проверить на достоверность данных
Я просто как то с колегой разговаривал он на айоск пишет, у них есть либка которая умеет стейт флоу восстанавливать, ну как по мне это странное поведение, куча краиугольных ситуаций, согласен тоже полезу сорцы почитаю, энивей спасибо большое!
Vadim
Можете подсказать, есть ли какой-то нативный контейнер аля карты или веб странички в плане того, что можно приблизить/отдалить, пальцем походить по контейнеру посмотреть элементы?
Vadim
ТО есть мне нужно накидать в контейнер элементов и мочь приближать, отдалять, двигаться по нему
Artem
Всем, привет. Подскажите, пожалуйста, можно ли как-то Bluetooth заставить работать в BLE режиме(сменить режим с classic на ble)? Задача: соединить часы и телефон по BLE. На часах установлен обычный Android(как на телефонах). В API есть два режима поиска, LE и классик, вот в LE находит всякие наушники, ксаоми браслеты. А в классик находит телефон и нужные часы. Поиск в Гугле не дал результатов(
Artem
Если посмотреть через adb, фича ble и телефон и часами поддерживается
Denis
BLE и Bluetooth - это разные протоколы. В sdk есть отдельный функционал для BLE
Andrew
Коллеги, в один прекрасный день что-то сломалось в студии. См. фото. Я скопировал проект в другую директорию, все OK. Удалил, скопировал обратно, опять проблема. Кто-нибудь знает в чем может быть причина?
Andrew
Nikita
директория где наблюдаются такие проблемы содержит в пути кириллицу?
Andrew
И пробелов нет
Artem
BLE и Bluetooth - это разные протоколы. В sdk есть отдельный функционал для BLE
Да там есть BluetoothAdapter который отвечает за работу с Bluetooth. У него есть два метода поиска, startLEScan и startDescovery. Вот 1й метод находит только LE устройства, второй все остальные(телефоны, нужные часы)
Denis
device.connectGatt()
Denis
Если я не ошибаюс
Denis
Тебе надо использовать BluetoothGatt
Denis
Для low energy протокола
Artem
Если я не ошибаюсь, объект device - это объект который нужно найти через поиск выше
Artem
Поковырять его, поищу в этом направлении) спасибо
Denis
Попробуй через BluetoothAdapter найти device
Denis
И подключиться по BLE
Denis
Если я не ошибаюсь, то любое приложение - это GATT клиент
Andrey
Привет, пытаюсь копировать скриншоны с эмулятора на комп. Запускаю adb pull из теста, возникает ошибка: java.io.IOException: Cannot run program "adb": error=13, Permission denied при этом ls например - выполняется. В андроид студио где-то есть ограничение какое-то? как его убрать?
Denis
А ты уверен, что это не телефон отказал?
Denis
Я бы посмотрел сначала настройки телефона
Andrey
это эмулятор
Vitaly
https://gist.github.com/VitalyPeryatin/306335e434ff97fa63cb3522bbc3aa39 Ситуация следующая: В классе SocketCloud происходит подключение к серверу через TCP сокет, как только устройство коннектится к серверу происходит авторизация (сервер и клиент обмениваются ключами, но при этом об этом обмене знает только SocketCloud и этот обмен начинается сразу же как только клиент достучался до сервера). В качестве Observable выступает слушатель сообщений, соответственно этот Observable должен начать работать сразу же после подключения к серверу и до конца жизни приложения или пока не произойдёт какая-то ошибка на сервере. После обмена ключами к этому Observable могут подключаться другие слушатели. После авторизации не исключено, что прийдёт сообщение о повторной авторизации. Определить какое это сообщение (простое или для авторизации) можно по значению лежащем в этом сообщении: connect или authorization
Помогите плиз
Mike
Помогите плиз
А вопрос где?
Vitaly
А вопрос где?
Отрефакторить код, указать на ошибки) Несколько сообщений до этого сказали, что здесь помогут исправить код Как по мне он ужасно грязный
Vitaly
Его невозможно читать
По каким причинам?
Mike
https://gist.github.com/VitalyPeryatin/306335e434ff97fa63cb3522bbc3aa39 Ситуация следующая: В классе SocketCloud происходит подключение к серверу через TCP сокет, как только устройство коннектится к серверу происходит авторизация (сервер и клиент обмениваются ключами, но при этом об этом обмене знает только SocketCloud и этот обмен начинается сразу же как только клиент достучался до сервера). В качестве Observable выступает слушатель сообщений, соответственно этот Observable должен начать работать сразу же после подключения к серверу и до конца жизни приложения или пока не произойдёт какая-то ошибка на сервере. После обмена ключами к этому Observable могут подключаться другие слушатели. После авторизации не исключено, что прийдёт сообщение о повторной авторизации. Определить какое это сообщение (простое или для авторизации) можно по значению лежащем в этом сообщении: connect или authorization
Стоит отделить UI от не-UI. Ещё можно выпилить ButterKnife.
Dj
По каким причинам?
Первое что бросается в глаза это: 1)Не соблюдение единного код стайла, public методы идут в перемешку с private 2) Куча не понятных закоментированных мест 3) Создание RETROFIT инстанса на каждый запрос
Vitaly
Стоит отделить UI от не-UI. Ещё можно выпилить ButterKnife.
Я полностью согласен, на класс фрагмента можно не смотреть, это не мой код, больше интересует класс SocketCloud
Petr
По каким причинам?
Потому что цитирую "он ужасно грязный" Х) Как минимум порядок полей и методов не позволяет прочитать Закомментированный код должен быть удалён
Denis
По каким причинам?
Если ты хочешь помощи, то лучше оставить комментарии к коду или хотя к куску, с которым ты не можешь разобраться
Dj
Посмотрите SocketCloud плиз
В проекте присутсвуют лябмды, но почему ты их в каких то местах используешь, а в каких то нет
Mike
Я полностью согласен, на класс фрагмента можно не смотреть, это не мой код, больше интересует класс SocketCloud
Первая проблема — это название. «Сокетное облако» — это вообще как?