@android_ru

Страница 307 из 3205
Yuri
27.09.2016
16:16:21
Вы работаете с moxy? Сейчас (прям вот только что) зафиксил. Билд будет на неделе ;)

Максим
27.09.2016
16:19:34
Вы работаете с moxy? Сейчас (прям вот только что) зафиксил. Билд будет на неделе ;)
А что добавили в последних версиях Moxy? Еще я где видел сообщения, что при вызове метода а-ля openContactDetails ты используешь какую-то стратегию. Можно скрин куска кода?

Yuri
27.09.2016
16:20:53
Хм, не пробовал собирать проект, использующий мокси в аарку. Ну это место будет пофикшено(тип dependency заменил с compile на compileOnly и перестало ругаться)

А что добавили в последних версиях Moxy? Еще я где видел сообщения, что при вызове метода а-ля openContactDetails ты используешь какую-то стратегию. Можно скрин куска кода?
Ничего особенного не добавляли в послединих релизах — только баг фикс, оптимизация и немного прокаченная кодогенерация. А про стратегию — метод openContactDetails скорей всего был помечен аннотацией @StateStrategyType(ApplyAndRemoveStrategy.class), а в стратегии ApplyAndRemoveStrategy говорится, что команду нужно удалить сразу, как только она применилась. Где сейчас отыскать такой код — не знаю. Поэтому кусков кода не будет. Но сделать его легко ;)

Google
Yuri
27.09.2016
16:32:07
ApplyAndRemoveStrategy — в ней нужно написать, чтобы в beforeApply команда добавилась в очередь, но в afterApply была удалена(чтобы не примениться несколько раз). И в таком случае, даже если на момент отправления команды небыло приаттаченно ни одной View, то как только View будет приаттачена, команда будет выполнена и удалена из очереди. А в случае со SkipStrategy, команда не будет сохранена в очередь. И если в момент отправления команды к презентеру не приаттачено ни одной View, эта команда потеряется. Но если это у вас синхронный метод (например onClick → startActivity), то можно считерить и применить эту стратегию =)

Seraphim
27.09.2016
16:32:28
Base64::encode

Yuri
27.09.2016
16:35:00
во ViewState, который хранится в Presenter

Gerc
27.09.2016
16:35:56
во ViewState, который хранится в Presenter
А презентер с рхподписками где пока не приатачена вью?

Yuri
27.09.2016
16:38:28
А презентер с рхподписками где пока не приатачена вью?
А презетенр спокойно лежит в мапе, которая лежит в синглтоне. Мы это уже обсуждали 24 числа в 17:54 по мск ?

А когда View совсем уходит(т.е. её не становится в бэк стэке), presenter "уничтожается"

Gerc
27.09.2016
16:41:00
А когда View совсем уходит(т.е. её не становится в бэк стэке), presenter "уничтожается"
А когда свернули, то viewstate и презентер же не уничтожается?

Yuri
27.09.2016
16:41:54
А когда свернули, то viewstate и презентер же не уничтожается?
Нет, не уничтожатся. Даже view не детачится от презентера

Gerc
27.09.2016
16:44:07
Нет, не уничтожатся. Даже view не детачится от презентера
И если убьется апп, то при восстановлении восстановится нинужный viewstate когда рх что-то делал и свернули на прогрессе

Yuri
27.09.2016
16:49:11
И если убьется апп, то при восстановлении восстановится нинужный viewstate когда рх что-то делал и свернули на прогрессе
Нет, в случае остановки процесса, презентеры с их вью стейтами теряются. Потому что не логично запоминать состояние презентера — он асинхронный, и нет смысла запоминать состояние асинхронщины. Но если очень нужно, то можно передать Bundle saveState в презентер, а при восстановлении, отправить его в Presenter, чтобы тот решил, на какой этап ему восстанавливаться, и что вообще делать. Например, вы нажали кнопку "Опубликовать новость" Вью стэйт показал прогресс(и понятное дело запомнил эту команду). И в этот момент процесс останавливается. И после восстановления не понятно, что делать? Опять отправить создание новости, или просто показать прогресс, или ничего не делать а показать стартовую активити? Именно поэтому само собой в saveState ничто не сохраняется. А если нужно, то презентер сам сохранит туда пометки для себя и потом восстановит себя. Но это на самом деле лишнее. Нам за пол года так ни разу и не пришлось такого проворачивать =)

Gerc
27.09.2016
16:58:34
Нет, в случае остановки процесса, презентеры с их вью стейтами теряются. Потому что не логично запоминать состояние презентера — он асинхронный, и нет смысла запоминать состояние асинхронщины. Но если очень нужно, то можно передать Bundle saveState в презентер, а при восстановлении, отправить его в Presenter, чтобы тот решил, на какой этап ему восстанавливаться, и что вообще делать. Например, вы нажали кнопку "Опубликовать новость" Вью стэйт показал прогресс(и понятное дело запомнил эту команду). И в этот момент процесс останавливается. И после восстановления не понятно, что делать? Опять отправить создание новости, или просто показать прогресс, или ничего не делать а показать стартовую активити? Именно поэтому само собой в saveState ничто не сохраняется. А если нужно, то презентер сам сохранит туда пометки для себя и потом восстановит себя. Но это на самом деле лишнее. Нам за пол года так ни разу и не пришлось такого проворачивать =)
>И после восстановления не понятно, что делать? Опять отправить создание новости, или просто показать прогресс, или ничего не делать а показать стартовую активити? и что вы делаете?

Google
Gerc
27.09.2016
17:01:49
поэтому надо в сервисе делать такие запросы

Yuri
27.09.2016
17:05:02
поэтому надо в сервисе делать такие запросы
презентеры потеряются только в случае, покгда процесс будет уничтожен. А это знаит и сервис будет остановлен

+1

В мокси вы можете приаттачить и сервис и активити к одному презентеру. И например сделать так, что когда презентер скажет View отобразить данные, то activity их просто покажет, а сервис поймёт, что он больше не нужен и застопается. А можно сделать и как-ниудь по-другому. Вариантов уйма ;)

Gerc
27.09.2016
17:10:44
как в банковских приложениях?

Yuri
27.09.2016
17:12:33
как в банковских приложениях?
стартуйте сервис, аттачте к нему презентер. больше у вас нет вариантов, ни при каких раскладах

Максим
27.09.2016
17:18:05
http://prntscr.com/cn1dtg

Что это?

Denis
27.09.2016
17:20:07
Можно запоминать места в коде и потом к ним возвращаться по сочетанию клавиш

Ivan
27.09.2016
17:26:10
Поюзал я таки крэшлитикс

Крутая тема с тестированием у них

Всё довольны

Mike
27.09.2016
17:31:27
?

Алексей
27.09.2016
17:31:45
Такой вопрос, какой телефон посоветуете купить в пределах 10 рублей?)

Mike
27.09.2016
17:32:58
Поюзал я таки крэшлитикс
У них таки недавно появилась возможность фильтровать краши по девайсам (isSamsung == true)

Вообще, странные ребята. Инфы куча к ним идёт, а возможностей фильтровать данные почти нет...

Ivan
27.09.2016
17:36:52
У них таки недавно появилась возможность фильтровать краши по девайсам (isSamsung == true)
Не знаю пока, крэши до этого я мониторил splunk mint, посмотрим на крэшлитикс в сравнении

Gregory
27.09.2016
17:44:01
Google
DarkMentat
27.09.2016
17:47:13
Doogee например, вообще смотри в сторону Китая, бюджетники, но с шестым дроидом довольно полезны

Такой вопрос, какой телефон посоветуете купить в пределах 10 рублей?)

Timur
27.09.2016
17:49:41
весьма достойный аппарат

прошивка только тяжёлая

Sergey
27.09.2016
18:20:18
Такой вопрос, какой телефон посоветуете купить в пределах 10 рублей?)
Xiaomi Redmi 3s вроде неплох: Snapdragon 430, 2 GB RAM, 16 GB встроенной, 4100 mAh батарея из минусов: разрешение 720p и MIUI

Александр
27.09.2016
18:26:33
Ребята, вопрос. Тут многие фрилансят, кто как принимает деньги из других стран? Регистрируете ИП или как-то иначе? ;) Если не хотите здесь писать, то в личку можно, тоже могу кое-чего посоветовать :)

Gerc
27.09.2016
18:31:43
Иностранные заказчики не работают с не ипами

Alexey
27.09.2016
18:32:13
Александр
27.09.2016
18:33:46
Я же не написал Запад

Gerc
27.09.2016
18:34:34
А это фигня. Нах с ними работать

Александр
27.09.2016
18:38:04
А это фигня. Нах с ними работать
Причём тут это? Я не много не то спрашивал.

Aleksandr
27.09.2016
18:54:41
Подскажите, пожалуйста, нормально ли так использовать обертку объекта при внедрении зависимости, поскольку сама зависимость может устареть, пока активити жива, и мы должны будем использовать её новый экземпляр.

Egor
27.09.2016
19:04:36
@sier_brat неплохо, выполняет роль типа config holder, без обертки обычную ссылку можно так же обновить

Aleksandr
27.09.2016
19:06:28
Только у Activity сразу после OnCreate вызывается onStart→onResume. Поэтому в вашем примере вы два раза отправите что-то на печать =)
Это лишь пример, вопрос о том, на сколько нормально использовать такой Wrapper для решения проблемы?

Egor
27.09.2016
19:08:33
@sier_brat обычно я делаю класс, типа SessionStorage, он сингелтон и в нем храню все ссылки на объекты типа Принтера

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

Google
Aleksandr
27.09.2016
19:11:41
Да, согласен, Holder логичнее

Admin
ERROR: S client not available

Aleksandr
27.09.2016
19:14:16
@sier_brat обычно я делаю класс, типа SessionStorage, он сингелтон и в нем храню все ссылки на объекты типа Принтера
В вашем случае одно хранилище, а на нормально ли будет, если у меня DI будет весьма часто внедрять холдеры для кучи отдельных объектов вместо самих объектов?

К тому,можно ли так делать смело, или за такое по рукам бьют?

Egor
27.09.2016
19:20:45
в моем случае получаеться так: есть одно место доступа ко всем моделям в программе, сам этот сингелнон инжектиться в BaseFragment или активити, а в себе хранит источники данных, потому, например, я могу получить прямой доступ к актуальным данным на любом фрагменте через метод, типа getSessionStorage().getShoppingListProvider().getAllDeals(); т.е. сторадж = хранит провайдеры провайдер - данные с которыми он работает

остальная мелоч инжектиться отдельно, типа утилиты и тд, если у тебя в программе Принтер - это основной объект и больше нету другой техники, твой вариант достаточно хороший, завернул в статический фрапер (холдер) и работаешь кругом с ним

Andrey
27.09.2016
20:13:46
целый день борюсь, никак не могу решить - edittext во viewpager после перехода на страницу по setCurrentItem все время под клавиатурой оказывается

по свайпу все норм

никто не сталкивался?

Dmitry
27.09.2016
20:21:44
Кто где хранит токены и пароли? -)

Максим
27.09.2016
20:44:10
С дройдкона записи есть?

Привет

Dmitry
27.09.2016
20:49:41
Дроидкод будет через 2 недели Вопрос про токены актуальный. Что-то приложения которые я видел, токены текстом в преференсах держат...

Vitaliy
27.09.2016
20:56:46
@grishka теперь ты видел ВСЁ https://github.com/ReactiveX/RxPHP

Gregory
27.09.2016
20:58:33
@grishka теперь ты видел ВСЁ https://github.com/ReactiveX/RxPHP
Генерить строки HTML стало ещё извращённее

Vitaliy
27.09.2016
20:58:39
Я ору уже с названия

Многопоточность в ПХП

shell_exec("php thread2.php")

Seraphim
27.09.2016
21:01:06
Rx подо всё есть. Такими темпами скоро и под ассемблер запилят

Google
Vitaliy
27.09.2016
21:01:19
RxAsm

RxFortran

Seraphim
27.09.2016
21:01:50
RxPetooh

Alexander
27.09.2016
21:01:54
RxBrainfuck

Vitaliy
27.09.2016
21:02:11
Как раз хотел пошутить, опередили :)

Denis
27.09.2016
21:02:45
RxC--

Seraphim
27.09.2016
21:02:50
Rx на ObjC красотулечка))0)

Vitaliy
27.09.2016
21:03:33
RxSpectrum

Seraphim
27.09.2016
21:05:04
RxPascal

Vitaliy
27.09.2016
21:05:34
RxBat

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