These are chat archives for rus-speaking/android-off-topic

2nd
Nov 2015
takigava
@takigava
Nov 02 2015 08:31
Такой вопрос, кто-нибудь занимался отложенной отправкой сообщений на сервер? Копим сообщения, получаем сигнал на изменение коннекшона что мы в инете и отсылаем накопившейся пакет. Имеет вообще смысл такое делать?
Pavel Mukhanov
@pavel-mukhanov
Nov 02 2015 08:33
@takigava хочешь делай, хочешь не делай
takigava
@takigava
Nov 02 2015 08:36
@pavel-mukhanov Просто меня интересует такой момент, мы допустим отправили данные, но ответа о статусе в виду потери интернета ещё не успели получить. Что в таком случае считать отправкой. Даннные могут просто задублироватся.
Pavel Mukhanov
@pavel-mukhanov
Nov 02 2015 08:38
там куча проблем может быть
Artur
@forceLain
Nov 02 2015 08:41
@takigava погляди на механизмы синхронизации в андроиде
это решает кейс "получаем сигнал на изменение коннекшона что мы в инете и отсылаем накопившейся пакет."
каждому сообщению нужен его статус
но если ты чатик пилишь, это всё не подходит)
Vladimir Mironov
@nsk-mironov
Nov 02 2015 08:55

Просто меня интересует такой момент, мы допустим отправили данные, но ответа о статусе в виду потери интернета ещё не успели получить

https://ru.wikipedia.org/wiki/%D0%98%D0%B4%D0%B5%D0%BC%D0%BF%D0%BE%D1%82%D0%B5%D0%BD%D1%82%D0%BD%D0%BE%D1%81%D1%82%D1%8C

Rustem Saitkulov
@atetc
Nov 02 2015 08:56
Что-то это все мне паттерн B напомнило
takigava
@takigava
Nov 02 2015 08:58
Спасибо будем смотреть.
@forceLain И проблема в том, к серверу доступа у меня нет, и поменять обработку на сайте я не могу. Если бы я мог, проблем не было. Сделал бы просто многофакторный коммит со вторым запросом типа HEAD и делов
Artur
@forceLain
Nov 02 2015 09:02
т.е. как, сервер получает сообщение, говорит 200OK а на самом деле не принимает сообщение?
takigava
@takigava
Nov 02 2015 09:06
@forceLain Принимает но в кеш, а потом по запросу HEAD его уже коммитит.
@takigava И тут уже на телефоне и сервере можно по ид отслеживать повторы и то что закомитилось
Kirill Ashikhmin
@KirillAshikhmin
Nov 02 2015 09:09
@takigava я в одном проекте еще пару лет назад делал такой простой, и возможно косячный подход - если попытка отправки сообщения не удалась (свалилось в catch), то сообщение сохраняется в бд, в интерфейсе действие помечается как выполненное, при отправке следующего сообщения идет сперва попыка отправить накопленые, и если удачно-отправляются все и новое, если не удачно, то и новое записывается. не лучшая реализация, но и бюджета с временем было мало и опыта в принципе тоже. главное работало
takigava
@takigava
Nov 02 2015 09:11
@BOOMik Мы не ищем легких путей))
@BOOMik За 2 месяца работы моего крабского приложения, оно ни разу не упало. Мне нужно чтобы работало, и работало хорошо. Потому что когда начнётся создание постов с картинками с камеры и видосами, и всё это дело в офлайне...
Kirill Ashikhmin
@KirillAshikhmin
Nov 02 2015 09:16
@takigava тебе можно просто при неудачной попытке отправки сохранять черновик и все
takigava
@takigava
Nov 02 2015 09:17
Ладно посмотрим, а то чувствую назревает холиварная тема насчёт достоверности данных
Vitaly Kirillov
@nexus700120
Nov 02 2015 14:03
Официальные цены на Nexus 5X в России:
16 ГБ: 34990 рублей
32 ГБ: 37990 рублей
Bulat Faridovich
@localhostEU
Nov 02 2015 14:15
kek
xomyc
@xomyc
Nov 02 2015 14:27
а давайте создадим канал обсуждения библиотек и разрешим там матерится?
Pavel Mukhanov
@pavel-mukhanov
Nov 02 2015 14:27
@xomyc какую либу хочешь обматерить?
Pavel Mukhanov
@pavel-mukhanov
Nov 02 2015 14:29
@xomyc у меня все где есть org.eclipse в названии вызывает подозрение
xomyc
@xomyc
Nov 02 2015 14:33
самое главное что они уже год не обновляют master ветку полную критичных багов, хотя эти баги поправлены в develop ветке, которая полностью back-совместима :D
Vladimir Abramov
@kivsiak
Nov 02 2015 14:36
я где то слышал что одной из плюшек открытых исходников является то что если кто забил на обслуживание некое сообщество может форкнуть и взять поддержку на себя
Vasily Styagov
@VasyaFromRussia
Nov 02 2015 14:37
не, оно так не работает
Vladimir Abramov
@kivsiak
Nov 02 2015 14:38
да ладно? ты только что разрушил мою веру в oss :)
но вообще я серьезно. @xomyc если тебе нужна открытая либа, то никто не обязан ее поддерживать. форкай накладывай патчи и принимай пуллреквесты если основные разарбы на это забили.
xomyc
@xomyc
Nov 02 2015 14:50
@kivsiak так они не забили, сидят пилят dev ветку :)
Vladimir Mironov
@nsk-mironov
Nov 02 2015 15:10
пацаны, кто разбирается в кишках грэдла? Мне интересно, можно ли как-нибудь сделать, чтобы плагин выполнялся в своей песочнице и не аффектил другие плагины?
Sergii Pechenizkyi
@plastiv
Nov 02 2015 15:10
плагин аплаится к проджекту, он может просто сгенерить свои таски и не взаимодействовать с остальными
или имеется ввиду можно ли его запустить в своем класлоадере со своими зависимостями?
Vladimir Mironov
@nsk-mironov
Nov 02 2015 15:11
А точнее, есть два плагина: A и B. Оба они используют зависимость lib, но разных версий. Мне нужно, чтобы каждый из них использовал в конечном итоге именно ту версию зависимости, которая ему нужна
Sergii Pechenizkyi
@plastiv
Nov 02 2015 15:15
я бы сделал jarjar конфликтуещей либе для того плагина, который есть возможность редактировать
Vladimir Mironov
@nsk-mironov
Nov 02 2015 15:19
ну это прям совсем костыли уже :)
плюс в моей ситуации это не поможет, т.к. конфликтующая либа - это рантайм котлина
(т.е. помимо двух версий котлина есть еще и код, который может работать только с определенной версией рантайма)
Sergii Pechenizkyi
@plastiv
Nov 02 2015 15:24
кейс не тривиальный :) будет интересно услышать решение (кроме подождать релиза котлина и когда все либы-плагины обновятся на релизный котлин и когда гугл официально засуппортит релизный котлин и когда гредл перестанет тормозить)
Kirill Ashikhmin
@KirillAshikhmin
Nov 02 2015 15:25
@plastiv иными словами - никогда?)
takigava
@takigava
Nov 02 2015 15:27
Ну что вы прям все мечты разбиваете...
Vladimir Mironov
@nsk-mironov
Nov 02 2015 15:30
в идеале это конечно должно разруливаться грэдлом
в эклипсе, который чуть выше обсирали, таких проблем нет :)
Bulat Faridovich
@localhostEU
Nov 02 2015 15:31
xD
xomyc
@xomyc
Nov 02 2015 16:17
@Override
    public void close() {
     if (clientHandle == null) {
         System.out.println(serverURI);
         System.out.println(clientId);
         System.out.println(myContext.getApplicationInfo().packageName);
         System.out.println(persistence);
         clientHandle = mqttService.getClient(serverURI, clientId, myContext.getApplicationInfo().packageName,persistence);
     }
     mqttService.close(clientHandle);
    }
Вот какая редиска в эклипсе так пишет? Нафига сливать в консоль адрес сервера и клиентский id?