@android_ru

Страница 1311 из 3205
Umren
27.04.2017
16:51:45
читай про паксос

он решает эту проблему

там разные реализации итд

Danil
27.04.2017
16:52:19
Посмотрю, спасибо

Google
Danil
27.04.2017
16:52:31
Тогда в базе хранить таймстамп и норм

Eugene
27.04.2017
18:17:47
Ребята, котлин и даггер, вылетает ошибка при запуске приложения Unresolved reference: DaggerAppComponent. тоесть пропадает сгенерированный файл. Если нажать Build - Rebuild Project то все окей и файл генерируется. В чем может быть проблема

Gleb
27.04.2017
18:23:54
Ну смотри, у меня таск-менеджер. Запись может быть изменена на двух клиентах, пока они в оффлайне. Мне не нужное конфликт разруливать, нужно просто выбрать последнюю запись. Я хочу хранить timestamp для каждой записи, id и булевое значение, говорящее о том, была ли запись изменена на клиенте. И пусть сервер получает все измененные записи, изменяет свою бд и возвращает актуальные записи, а также все записи, измененные на других клиентах после последней синхронизации
Меня конечно за олд скулл ща опять закидают, ...можешь подглянуть сюда https://www.slideshare.net/KianaTennyson/a-primer-tosyncadapterskianatennyson мы делали так два id - локальный и глобальный если есть локальный, но нет глобального - запись добавлена в оффлайне - после синка - либо акцепт - получили/записали глобальный id(если всё ок), либо отмена(сервер отклонил, н-р не льзя добавить заметку в уже удаленную записную книгу) поле boolean deleted - если было локальное удаление после синка либо акцепт, либо отмена (сравниваем ts, возможно после оффлайн удаления запись меняли на вебе - тогда change главнее delet-a) поле boolean dirty - если было локальное изменение после синка либо акцепт, либо отмена (сравниваем ts, возможно после оффлайн изменения запись меняли на вебе - тогда web-change главнее local change) после ?... ну мы не парились - брали все данные одним json-ом с сервера - строили Remote модель, брали все данные с базы - строили Local модель и делали магический diff-calc, который считал add, change, delete для каждой таблицы.... и применяли. Расчет был на то, что синк будет происходить скорее всего где-нибудь ночью, пока девайс на зарядке, с домашним wi-fi (pattern C - syncadapter)

Меня конечно за олд скулл ща опять закидают, ...можешь подглянуть сюда https://www.slideshare.net/KianaTennyson/a-primer-tosyncadapterskianatennyson мы делали так два id - локальный и глобальный если есть локальный, но нет глобального - запись добавлена в оффлайне - после синка - либо акцепт - получили/записали глобальный id(если всё ок), либо отмена(сервер отклонил, н-р не льзя добавить заметку в уже удаленную записную книгу) поле boolean deleted - если было локальное удаление после синка либо акцепт, либо отмена (сравниваем ts, возможно после оффлайн удаления запись меняли на вебе - тогда change главнее delet-a) поле boolean dirty - если было локальное изменение после синка либо акцепт, либо отмена (сравниваем ts, возможно после оффлайн изменения запись меняли на вебе - тогда web-change главнее local change) после ?... ну мы не парились - брали все данные одним json-ом с сервера - строили Remote модель, брали все данные с базы - строили Local модель и делали магический diff-calc, который считал add, change, delete для каждой таблицы.... и применяли. Расчет был на то, что синк будет происходить скорее всего где-нибудь ночью, пока девайс на зарядке, с домашним wi-fi (pattern C - syncadapter)
видится мне что эвернот поступает схожим образом, так же как и гугл-календарь и контакты

Хотя, поговаривают, firebase ща это всё сам за тебя делает? ... сколько труда, потта и крови(( эх

Дмитрий
27.04.2017
18:41:55
Всем привет! ) Решил изучить методологию реактивного программирования. В частности RxJava или RxJava2 и все что идет с ней в связке. А теперь вопрос что с ней нужно юзать? rxlifecycle rxbinding нужны? Плиз народ закидайте меня инфой что почитать )) направьте нужной тропой )

Дмитрий
27.04.2017
18:44:45
+1 Пропустил много из этой темы. Тоже хочу подтянуть.

Danil
27.04.2017
18:51:49
вот что-то примерно такое и у меня в голове, но я на сервер хочу посылать время последней синхронизации и брать с сервера только все что после этого времени

Меня конечно за олд скулл ща опять закидают, ...можешь подглянуть сюда https://www.slideshare.net/KianaTennyson/a-primer-tosyncadapterskianatennyson мы делали так два id - локальный и глобальный если есть локальный, но нет глобального - запись добавлена в оффлайне - после синка - либо акцепт - получили/записали глобальный id(если всё ок), либо отмена(сервер отклонил, н-р не льзя добавить заметку в уже удаленную записную книгу) поле boolean deleted - если было локальное удаление после синка либо акцепт, либо отмена (сравниваем ts, возможно после оффлайн удаления запись меняли на вебе - тогда change главнее delet-a) поле boolean dirty - если было локальное изменение после синка либо акцепт, либо отмена (сравниваем ts, возможно после оффлайн изменения запись меняли на вебе - тогда web-change главнее local change) после ?... ну мы не парились - брали все данные одним json-ом с сервера - строили Remote модель, брали все данные с базы - строили Local модель и делали магический diff-calc, который считал add, change, delete для каждой таблицы.... и применяли. Расчет был на то, что синк будет происходить скорее всего где-нибудь ночью, пока девайс на зарядке, с домашним wi-fi (pattern C - syncadapter)

видится мне что эвернот поступает схожим образом, так же как и гугл-календарь и контакты

ну и мне кажется на стороне сервера лучше производить разрешение конфликтов

Прочитал я про файрбейс, как и реалм, он мне не очень нравится

Gerc
27.04.2017
19:14:03
РЕПЛАЙ ЕСТЬ, нафиг форвардить

Google
Danil
27.04.2017
19:14:39
сорян, я в телеграме новичок)

Dmitry
27.04.2017
19:20:08
у фаирбейза нехилые ценники, если у вас запросов много. Так что своя реализация - тоже неплохо.

Иван
27.04.2017
19:30:18
Народ, как в своей вью отловить тач на линию?

Там получается через Rect это надо делать, то как его задать?

Yauhen
27.04.2017
19:41:00
Может напомнит кто библиотеку которая рисует граф зависмостей классов проекта

Dmitry
27.04.2017
20:18:12
Господа, подскажите пожалуйста по пушам - немного запутался. Допустим, у меня есть календарь, куда прилетают какие то события от сервака. Им пользуется 100-200 тыс человек. Вроде звучит логично, что пуши о предстоящем событии я должен бы и сам отслеживать, чтобы лишний раз не нагружать сервак - правильно рассуждаю? Почему сомневаюсь, потому что в случае с банковскими системами - там уже получается сервер следит за проведенной операцией платежа и вызывает пуш на мобилку. Т.е. я не совсем уверен что отсчеты и таймеры стоит крутить где то на андройде, запускать сервисы и чтобы они за этим следили. Как правильнее сделать?

Dmitry
27.04.2017
20:32:47
Не совсем понял вопрос, но обычно люди используют вот это https://firebase.google.com/docs/cloud-messaging/
Вопрос в том, что всегда ли мне нужно дергать эти сообщения с сервера, даже в том случае когда у меня есть все данные для этого в приложении и я сам могу отслеживать события сервисом в фоновом режиме?

Dmitry
27.04.2017
20:34:29
А для андройда так себе кейс как ч понимаю?

Дмитрий
27.04.2017
20:34:34
Dmitry
27.04.2017
20:35:13
Сейчас речь не о стоимости а о целесообразности

Андрей
27.04.2017
20:36:00
Вопрос в том, что всегда ли мне нужно дергать эти сообщения с сервера, даже в том случае когда у меня есть все данные для этого в приложении и я сам могу отслеживать события сервисом в фоновом режиме?
А где хранятся запланированные задание, если делать на клиенте? А как они синхронизируются между девайсами, если у пользователя их несколько?

Роман
27.04.2017
20:36:57
сейчас ше преференс синхронизируются по гугл акаунту

можно там например

Дмитрий
27.04.2017
20:37:46
Из контекста я представил что события синкаются с сервером, тут нужно будет накручивать дополнительную логику по изменению таймеров на клиенте при изменении события на сервере. А что если клиент их не получит? Или получит не вовремя? ИМХО оно того не стоит. Нагрузка на сервер ничтожна в этом случае. На то он и сервер.

Андрей
27.04.2017
20:38:29
сейчас ше преференс синхронизируются по гугл акаунту
а если у меня разные гугл аккаунты, но один аккаунт в приложении? а что делать с app info -> clear data?

Вопрос в том, что всегда ли мне нужно дергать эти сообщения с сервера, даже в том случае когда у меня есть все данные для этого в приложении и я сам могу отслеживать события сервисом в фоновом режиме?
По поводу фоновых сервисов - они жрут много ресурсов. Поэтому гугл все больше пытается закручивать гайки для их юзания. Учитывался ли в собственном решении доз мод андроидов 6+ ? А ограничения сервисов, накладываемые на андроидах 8+ ?

Dmitry
27.04.2017
20:43:03
нет, не учитывал

Google
Dmitry
27.04.2017
20:43:12
поэтому вопросы задавал

ок

будем на сервак вешать задачу, всем спасибо

CC -
27.04.2017
20:56:41
Кто-нибудь знает как greenDao работает с java.util.Date? Сейчас встал вопрос какую использовать: util или sql. Я помню, с какой-то датой она умеет работать, но с какой?

Nikolai
27.04.2017
21:03:29
Кому то удается использовать BottomSheetBehavior без боли?

Успешно ловлю NPE https://issuetracker.google.com/issues/37086568

с похожим стектрейсом

Quarx2k ?
27.04.2017
21:06:05
CC - Util

Но лучше юзать лонги

Konstantine
27.04.2017
21:28:27
Кто-нибудь может объяснить, почему notifyItemInserted может не работать? Сделал кнопку, по нажатию на нее добавляется новый элемент. Добавляется через адаптер, в нем добавляется новый элемент и вызывается notifyItemInserted(mItems.size -1), но эффекту ноль. Хотя в сам лист элемент добавляется

пробовал даже добавлять новый элемент в начало листа и вызывать notifyItemInserted(0), но эффекта так же 0 %)

Роман
27.04.2017
21:30:26
всегда пользовался notifydatasetchanged

Konstantine
27.04.2017
21:31:21
Он пашет, да, уже пробовал. Но говорят notifyItemInserted имеет в запасе анимашку, это всегда приятно)

Alexey
27.04.2017
21:36:11
лолки

Konstantine
27.04.2017
21:36:21
Что интересно

Alexey
27.04.2017
21:36:23
зачем использовать notifydatasetchanged ?

оно мало того что заставляет адаптер обновить все элементы, так и анимации с ней не будет

Konstantine
27.04.2017
21:37:53
Что с позицией 1 работает

%))

а 0 или на последнем месте - нет

Google
Konstantine
27.04.2017
21:38:46
и со 2 работает

а вот крайние нет

Alexey
27.04.2017
21:40:20
magic

и да для анимации надо ресайлеру вью вроде еще аниматор задавать

Admin
ERROR: S client not available

Konstantine
27.04.2017
21:42:04
вроде нет, ибо вызывая не на крайние значения они обновляются с анимашкой)

но вот что не обновляется на крайних местах это очень печалит

Alexey
27.04.2017
21:43:12
хм должно вообще, может у тебя ошибка в коде

Konstantine
27.04.2017
21:44:36
разобрался

забыл убрать у ресайклера setFixedSize %)

правда в таком случае анимация какая-то дерганная, но это ладно

Юсуф
27.04.2017
21:59:15
как превратить Object в Observable<Object>?

Quarx2k ?
27.04.2017
22:00:22
Observable.just(object)

Yuri
27.04.2017
22:16:16
А теперь вопрос как сделать наоборот)

Quarx2k ?
27.04.2017
22:18:28
subscribe :)

Yuri
27.04.2017
22:20:20
А если без него

Не было такого кейса конечно

Но вот подумал а вдруг

Quarx2k ?
27.04.2017
22:22:33
Только так, больше никак не вытащить.

Юсуф
27.04.2017
22:23:47
map () не катит? Или он вернет Observable с другим объектом?

Google
Quarx2k ?
27.04.2017
22:24:00
С другим обьектом

Если такая операция требуется, то что-то не так делается :)

Юсуф
27.04.2017
22:26:14
У меня был объект Observable <Response>, нужно было из Response вытащить ArrayList и вернуть Observable <ArrayList>

Quarx2k ?
27.04.2017
22:27:12
Ну это уже другое. Это нормально

Юсуф
27.04.2017
22:28:15
Я сделал Observable <Response>.map(Response::getArrayList). Но почему-то кажется что это неправильно, не?

Дмитрий
27.04.2017
22:28:44
Всем привет! ) Решил изучить методологию реактивного программирования. В частности RxJava или RxJava2 и все что идет с ней в связке. А теперь вопрос что с ней нужно юзать? rxlifecycle rxbinding нужны? Плиз народ закидайте меня инфой что почитать )) направьте нужной тропой )

Quarx2k ?
27.04.2017
22:28:55
Response сетевой зарос?

Anton
27.04.2017
22:29:11
Сначала просто рх изучи

Дмитрий
27.04.2017
22:29:40
даже так rxandroid

Quarx2k ?
27.04.2017
22:30:08
Rxjava2 + rxandroid + retrofit-rxjava2

Все что нужно для начала норм

Дмитрий
27.04.2017
22:30:25
Сразу на 2 можешь прыгать
Вот и хочу ) есть чего почитать? ))

Quarx2k ?
27.04.2017
22:30:35
Я доки только читал)

Когда надо было

Страница 1311 из 3205