@android_ru

Страница 987 из 3205
Sergey
15.02.2017
09:31:09
приложения не удаляю, а жму кнопку clear application data
правильно, сгенерится новый токен

Denis
15.02.2017
09:31:34
пишу юнит-тесты на бэк перед тем как пытаться его использовать, особенно если пхп
эмм, ну задача-то валидировать json-ответ от бэка. Как это сделать один раз и в одном месте. Есть своя entity и надо понять, что то, что приходит от бэка однозначно маппится к сущности в приложении

Валерий
15.02.2017
09:31:44
кстати, у ВК, например, зачастую нет примеров ответов, так что ничего не остаётся кроме живого бэка)
где-то читал и иногда пытаюсь использовать такое: выполняю запрос вручную, сохраняю ответ в файл и работаю через MockWebServer с ним в тестах.

Google
Andriy
15.02.2017
09:32:14
правильно, сгенерится новый токен
да но после того как нажал очисть данные, нотификации еще приходят около 30 сек

Sergey
15.02.2017
09:32:17
в onTokenRefresh ты сам решай когда надо отправлять токен на сервер

Валерий
15.02.2017
09:32:28
если меняется контракт - это надо отслеживать в другом месте. Но от интернета и бэка в тестах не зависим

Sergey
15.02.2017
09:32:39
да но после того как нажал очисть данные, нотификации еще приходят около 30 сек
ты очистил данные, почистились креды юзера, смотри на это

Sergey
15.02.2017
09:32:51
если юзер не залогинен то не показывай пуши

эта логика не должна обрабатыватся на стороне FCM

это клиетнтская логика

Andriy
15.02.2017
09:33:47
если юзер не залогинен то не показывай пуши
хм... ето как варант, но думал что может есть способ отписатся полностью от firebase

Sergey
15.02.2017
09:34:07
у вас ваш сервак шлет пуши клиентам, вот там и удаляйте токены

Todor
15.02.2017
09:35:25
Нет ни у кого под рукой туториала на медиуме как сделать material search view, такой как у гугла, с таким же выпадающим списком и т.д.? Либы чужие не хочу юзать, хочу свой написать Может, пару месяцев назад в андроид викли залетала эта статья, но не смог нагуглить, не нашел

Andriy
15.02.2017
09:37:24
у вас ваш сервак шлет пуши клиентам, вот там и удаляйте токены
да, но если юзер кликает clear application data, то тут нету возможности послать на сервер запрос о удалении токена

Google
Валерий
15.02.2017
09:38:34
А подскажите, если мы через REST посылаем рассылку в Firebase, можно ли по broadcast_id посмотреть её статистику, конверсии всякие?

как в консоли

Andriy
15.02.2017
09:39:02
делай проверку на это
ладно, думаю ето единственное решение на данный момент, спасибо за подсказку

Sergey
15.02.2017
09:39:05
это воздействующие на приложение факторы из-вне

которые ты никак не сможешь отследить

или другое приложение почистит кеш твоему

Andriy
15.02.2017
09:42:40
делай проверку на это
Кстати насчет того что я вчера спрашивал, о том что токен не регестрировался в firebase без subscribeToTopic() , ты оказался прав, такого не может быть.... пересоздал весь проект в Google Console +Firebase и начало норм работать без subscribeToTopic , спасибо еще раз )

BullyBoo
15.02.2017
09:44:17


кто нибудь сталкивался с такой ошибкой?

при подключении ретролямды

Andrei
15.02.2017
09:45:45
кто какую либу использовал для показа видео из ютуба?

Sergey
15.02.2017
09:46:41
но это было давно

Диёр
15.02.2017
09:47:56
Как в textinputlayout можно поднять повыше хинт?

Sergey
15.02.2017
09:48:16
он сделан по гайдлайнам

Google
Sergey
15.02.2017
09:48:43
кастомизи свой

Denis
15.02.2017
09:51:03
написать юнит-тест на живой сервер, прогнать тест; если возникают подозрения, прогнать ещё
ну а в юнит-тесте как проверить, что то что приходит от бэка сохраняет контракт? Не будешь же проверять, что там есть все поля руками

Quantum Harmonizer
15.02.2017
09:54:52
ну а в юнит-тесте как проверить, что то что приходит от бэка сохраняет контракт? Не будешь же проверять, что там есть все поля руками
Ну, я пишу на Котлине и использую собственные десериалайзеры, так что как только какое-нибудь обязательное поле не придёт, будет KotlinNullPointerException.

А так, если бы не размер, использовал Jackson.

Denis
15.02.2017
09:55:47
Nick Senchurin
15.02.2017
10:00:45
fun ש(@IdRes id: Int)
кстати, а как это решение заюзать внутри фрагмента?

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

Pavel
15.02.2017
10:08:38
Всем привет, а можно как то юзая picasso реализовать кейс, когда мы грузим с сервака картинку фигового качества, а когда она загрузилась то начинаем грузить уже нормальную фотку. Стандартного ничего у пикассо нету ?

Диёр
15.02.2017
10:09:16
Ребят, у textinputlayout можно поменять цвет бэкграунда при ошибке?

Quantum Harmonizer
15.02.2017
10:21:01
А что не так с размером?
Jackson — 8k методов, Gson — 1k

кстати, а как это решение заюзать внутри фрагмента?
fun <T : View> $(@IdRes id: Int): T = getView().findViewById(id) as Tбудет работать только после onCreateView, например, в onViewCreated; также можно fun View.$(...

Alexander
15.02.2017
10:22:25
Ребят, кто-нибудь может подсказать? Добавляю в активити в WindowManager view. Все ок. Но после перезагрузки устройства view не добавляется. Актитиви стартуется первой при помощи DevicePolicyManager-а.

Nick Senchurin
15.02.2017
10:23:50
fun <T : View> $(@IdRes id: Int): T = getView().findViewById(id) as Tбудет работать только после onCreateView, например, в onViewCreated; также можно fun View.$(...
но все равно я вызываю внутри фрагмента, у меня компилятор капризничает, что нужен каст

Denis
15.02.2017
10:24:08
Jackson — 8k методов, Gson — 1k
А после прогварда?

Nick Senchurin
15.02.2017
10:25:55
как теперь на яву это перевести ))

Nick Senchurin
15.02.2017
10:26:59
public <V extends View> V $(@IdRes int res) { return (V) getView().findViewById(res); } тут же кастуется

Quantum Harmonizer
15.02.2017
10:27:27
и там кастуется

Nick Senchurin
15.02.2017
10:28:40
ну я к тому, тчо если я пишу во фрагменте kb = $( R.id.code_keyboard); , то компилятор не пускаетъ

Google
Nick Senchurin
15.02.2017
10:30:27
только после каста kb = (MyKB) $( R.id.code_keyboard);

Quantum Harmonizer
15.02.2017
10:31:04
Nick Senchurin
15.02.2017
10:31:35
моя вьюха, отнаследованая от linearlayout

Quantum Harmonizer
15.02.2017
10:31:43
Допустим, LinearLayout ll = $(R.id.ll);должно скастоваться.

Nick Senchurin
15.02.2017
10:31:47
объявлена как MyKB

Quantum Harmonizer
15.02.2017
10:32:37
У меня работает (с)

Nick Senchurin
15.02.2017
10:33:26
nnnooooooo ((((

Admin
ERROR: S client not available

Nick Senchurin
15.02.2017
10:33:55
не, внутри активити работает

Quantum Harmonizer
15.02.2017
10:34:32
покажи код обоих $, не в активити же дело

Nick Senchurin
15.02.2017
10:34:36
сразу ставишь MyKB kb = $(R.id.) норм , а внутри фрагмента требует каст,

@SuppressWarnings("unchecked cast") public <V extends View> V $(@IdRes int res) { return (V) getView().findViewById(res); }

Roman
15.02.2017
10:34:56
public <V extends View> V $(@IdRes int res) { return (V) getView().findViewById(res); } тут же кастуется
Кстати, у такого подхода есть какие-то минусы? По скорости проблем не будет?

Nick Senchurin
15.02.2017
10:35:57
ну сегодня читал на СО , что типа каст много ест, но япропустил это мимо ушей)

Quantum Harmonizer
15.02.2017
10:36:30
Nick Senchurin
15.02.2017
10:36:45
http://stackoverflow.com/questions/30051910/is-using-a-generic-findviewbyid-a-bad-practice

Quantum Harmonizer
15.02.2017
10:38:18
http://stackoverflow.com/questions/30051910/is-using-a-generic-findviewbyid-a-bad-practice
"That JavaWorld article is 10+ years old, so I'd take any statements it makes about performance with a very large grain of your finest salt."

Google
Nick Senchurin
15.02.2017
10:39:47
@SuppressWarnings("unchecked cast") public <V extends View> V $(@IdRes int res) { return (V) getView().findViewById(res); }
а, все разобрался, в базовом фрагменте еще дженерик на презентер , изза него ломается

Quantum Harmonizer
15.02.2017
10:41:07
downvoted this answer :)

Nick Senchurin
15.02.2017
10:44:07
аккуратнее с rawTypes =)

Quantum Harmonizer
15.02.2017
10:44:36
а то что?)

Alexey
15.02.2017
10:44:37
Предлагают ButterKnife, в котором есть ButterKnife.findById() - почти вариант автора

Quantum Harmonizer
15.02.2017
10:45:01
подключать ButterKnife ради одного метода?

Nick Senchurin
15.02.2017
10:45:36
вот я в новом проекте как раз выпиливаю баттер

Alexey
15.02.2017
10:45:57
люди вон умудряются apache commons ради 1 метода подключать и ничего :)

Nick Senchurin
15.02.2017
10:46:20
кстати а с онкликом как решаете? если один раз повесить на рут-контейнер, и потом чекать по айдишникам вьюх , так прокатит?

или надо к каждому полю setOnClickListener?

Quantum Harmonizer
15.02.2017
10:46:29
люди вон умудряются apache commons ради 1 метода подключать и ничего :)
не думаю, что стоит равняться на таких людей, а то будет Hello World с MutliDex

Alexey
15.02.2017
10:46:54
@real_mista я в одном проекте тоже выпилил. Пришел чел после меня и обратно его впилил

Nick Senchurin
15.02.2017
10:47:09
не думаю, что стоит равняться на таких людей, а то будет Hello World с MutliDex
сегодня в нашем уроке мы разберем как работат с мультидекс , берем гуглосервисы , гуаву и вуаля

Nick Senchurin
15.02.2017
10:47:36
@real_mista я в одном проекте тоже выпилил. Пришел чел после меня и обратно его впилил
а я когда впиливал, коллега ворчал, что это не тру, ну теперь пришли к компромису

я никогда не использовал гуаву)
из каких то туториалов по автоматору там надо было ее добавить, но потом выпилил, нефиг

Alexey
15.02.2017
10:48:24
я никогда не использовал гуаву)
использовал гуаву на android 2.3. И ничего, все живы

Quarx2k ?
15.02.2017
10:48:42
Гуава норм, просто методов в ней капец:D

Mikhail
15.02.2017
10:49:12
А в чём конкретные преимущества ButterKnife перед, например, AndroidAnnotations?

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