@android_ru

Страница 846 из 3205
Alexey
19.01.2017
08:25:34
контент провайдер уже давно не видел. Он полезен по сути если надо шарить данные с другими приложениями

Gleb
19.01.2017
08:27:10
сейчас работа с сетью через сервис не у многих ещё осталась. Обычно берут ретрофит с rx
ретрофит и ркс - это про походы в сеть где бы то нибыло хоть в сервисе хоть в ui а собственно сервисы - это про другое - это про специальный приоритет для твоих фоновых задач, и. возможно отдельный процесс для их работы, уверен что ркс и ретрофит - могут крутиться внутри сервиса без проблем

Google
Gleb
19.01.2017
08:29:09
контент провайдер уже давно не видел. Он полезен по сути если надо шарить данные с другими приложениями
не совсем... хотя и это тоже... это немного подобно тому как реалм позволяет не только получать и хранить данные в базе но и подписываться/отписываться на их обновления, только реалм не умеет это делать межпроцессно, а контент провайдер может

Алексей
19.01.2017
08:32:50
всем привет, кто шарит в recyclerview подскажите. мне надо обработку долгого нажатия на элемент списка

Gleb
19.01.2017
08:33:03
извращенцы
у нас на раб проекте классический сервис с трейд-пулом(там изобретать ничего не надо, так или иначе сервис с трейд пулом он и в африке сервис с трейд пулом) okHttp с синхронными вызовами - всё! никаких трахов с колбэками, всё последовательно, в столбик выполняется, для последовательных тасков интент-сервис - и ок!

Алексей
19.01.2017
08:33:10
я сделал, но нет анимации, как допустим при листвью

listView.setOnItemLongClickListener() и там есть анимация

Алексей
19.01.2017
08:35:54
как здесь я сделал, нет анимации. http://stackoverflow.com/questions/27945078/onlongitemclick-in-recyclerview

ну постепенное заполнение вьюхи, при долгом нажатии

и потом срабатывает колбек на долгое нажатие

Sergey
19.01.2017
08:36:35
так это же селектор

если я тебя понял

Алексей
19.01.2017
08:37:19
тоесть я должен в хмл на бекграунд селектор влепить?

Google
Sergey
19.01.2017
08:37:24
ты так сделал http://stackoverflow.com/a/27945635 ?

Gleb
19.01.2017
08:37:29
и потом срабатывает колбек на долгое нажатие
лист вью сам рисует селекторы над/под твоими айтемами - ресайклер это предоставляет тебе самому делать

Алексей
19.01.2017
08:37:49
ок спасибо) я уже и забыл про них)

Sergey
19.01.2017
08:39:22
нельзя делать position файналом в onBindViewHolder, если ты так сделал то убери

Алексей
19.01.2017
08:39:50
Sergey
19.01.2017
08:40:10
Gleb
19.01.2017
08:41:10
А как же когда нужно несколько запросов сразу сделать и склеить ответы?
когда время мало - можно и опять таки - последовательно - один фиг - главное не в UI - ну пусть на 200 мс дольше посмотришь на прогресс

Siarhei
19.01.2017
08:41:53
наткнулся на приложение которое перемещает пользовательскую программу в область с систмными приложениями.интересно какие это дает приемущества? подпись же разная, правильно ли понимаю что это не даст приложению пользоваться всеми плюшками системных?

Sergey
19.01.2017
08:43:42
исходники есть?
без рута такое никак

Gleb
19.01.2017
08:45:49
запрос может и 10 сек идти
как правило - если запрос длится 10 сек то кроме TimeoutException - от него ожидать больше нечего, - в теории- то понятно - но напрактике - если мы ходим за json-ами даже на 2g - это займет порядка секунд, соответственно, если ты их выполняешь последовательно - обломивших на одном - смысла делать дальше нет - вылет с no internet connection

Siarhei
19.01.2017
08:46:17
исходники есть?
не, исходников не искал, в маркете наткнулся. но думаю тут просто выполняет посдееловательность консольных комманд типо такого http://stackoverflow.com/questions/14256687/how-to-make-my-application-system

Google
Sergey
19.01.2017
08:46:38
обычно таймаут секунд 15-30

Sergey
19.01.2017
08:49:39
почему финал нельзя?
Там может быть не актуальная позиция

Например после анимации перемещения

notifyItemMoved

Gleb
19.01.2017
08:50:39
это не только зависит от скорости сети
ну а дальше надо своих backend - товарищей - напрягать - чтоб это зависело только от скорости сети, таймаут 10 сек - ты правильно сказал - но это не таймаут на соединение а таймаут - на долгую операцию в целом- может сост из 3 запросов... значит на каждый по 3 сек таймаут - и хватит.... Поизучай ux на мобильном устройстве - статистика показывает, что психология юзера такова что больше 10 сек он ждать не будет - дальше у него уже начнут чесаться руки к кнопке home или back - а того и хуже - home -> recent apps-> clean all ))

Gleb
19.01.2017
08:54:36
И я знаю о юикс достаточно, суровая реальность диктует свои правила )
У нас тоже тут было ....ребята наваяли невъебенную логику - запрос 20 сек ждать на хорошем инете - я сразу сказал - хотите чтоб нас свайпали, закрывали - отменяли - ок, я даже не поленюсь - нормально cancel написать с закрытием соединения - тока потом не спрашиваете почему в аналитике половина не доходит до некоторых экранов - им просто лень ждать

Sergey
19.01.2017
08:54:49
как RecyclerView в презентер вытащить ?

Alexander
19.01.2017
08:56:01
что он в презентере забыл?

Dmitriy
19.01.2017
08:56:31
Господа знатоки, как называется элемент интерфейса, такая панель в нижней части экрана? Что-то типа ActionBar, ну если очень приближенно. Слово забыл))

Sergey
19.01.2017
08:56:54
вот это: mRecyclerView = (RecyclerView) findViewById(R.id.my_recycler_view); mRecyclerView.setAdapter(mRecyclerAdapter); оставить в активити или как-то можно вынести в презентер?

Dmitriy
19.01.2017
08:57:46
BottomNavigation?
да, очень похоже на то. Спасибо

Sergey
19.01.2017
09:07:04
Иди перечитывай про архитектуры
а ты, что читал(что именно )? есть ссыль?

Todor
19.01.2017
09:10:27
Подключал кто в проекты https://developers.google.com/tag-manager/ ? Что это и зачем оно надо. Почитал описание, но толком ничего не понял Похоже на трекинг, но не совсем оно Похоже на аналитику, но тоже не то

Google
Gerc
19.01.2017
09:10:59
а ты, что читал(что именно )? есть ссыль?
То откуда взял слово презентер, то и перечитуй

Todor
19.01.2017
09:15:22
@sergeyfitis можно пример плз?

Sergey
19.01.2017
09:16:38
в аппе покрыли все ивенты, в тег менеджере через теги ты их конфигурируешь как захочешь

настраваешь триггеры

https://twitter.com/anddev_badvice

новичкам не читать!

Nikita
19.01.2017
09:24:23
Only use the main thread for maximum developer performance #perfmatters - отличный же совет

Admin
ERROR: S client not available

Kolas
19.01.2017
09:25:12
почему onNewIntent в MainActivity может не вызываться для PendingIntent? Intent intent = new Intent(context, MainActivity.class); intent.putExtra(EXTRA_AUTH_STATE, authState.jsonSerializeString()); if (discoveryDoc != null) { intent.putExtra(EXTRA_AUTH_SERVICE_DISCOVERY, discoveryDoc.docJson.toString()); } return PendingIntent.getActivity(context, request.hashCode(), intent, 0);

Quantum Harmonizer
19.01.2017
09:26:48
Товарищи, я тут взял любимый Realm и понял, что их адаптеры — ничто (`onChange { notifyDataSetChanged() }`). Написал свой: при обновлении RealmResults в фоне делает снэпшот списка (copyFromRealm для каждого элемента), сравнивает со старым при помощи DiffUtil и обновляется. Работает нормально, только с той разницей, что снэпшот может крайне жёстко срать в память. Как бы так правильно всё сделать?

Kolas
19.01.2017
09:26:52
активити singleTask?
нет) спасибо. попробую

Todor
19.01.2017
09:27:03
@sergeyfitis спасибо, доступно :)

Quantum Harmonizer
19.01.2017
09:28:07
> ...then create a library to finally replace fragments, which eventually becomes fragments. лооол)

Google
Sergey
19.01.2017
09:32:16
если да, то это лучше твоего

Gleb
19.01.2017
09:32:31
Gerc
19.01.2017
09:34:48
и по всем полям таблицы? не по id же только?

Gleb
19.01.2017
09:35:20
а так... подтверждаю - работает 100% - а главное всё более-менее коробочно - и дальше есть поле для творчества в аниматоре - когда будет время и силы

и по всем полям таблицы? не по id же только?
не ... там есть проход по айдишникам чтоб отсеять insert-ы и и delet-ы, а вот для changes - надо уже по-колоночно

не ... там есть проход по айдишникам чтоб отсеять insert-ы и и delet-ы, а вот для changes - надо уже по-колоночно
ну то есть из старых и новых с идентичными id - надож как-то понять - а кто реально изменился

я пошёл дальше))) я ему в payload еще пихаю - названия колонок - которые изменились и два значения old и new ? - трэш правда полный - но работает ?

Quantum Harmonizer
19.01.2017
09:39:21
но без полного прохода по двум сторонам - там никак)) увы.... в моем случае тоже пришлось смириться, с тем что придётся полностью пробежаться по старому и новому курсорам прежде чем реально применять новый
Очень плохо: все преимущества БД теряются, вся коллекция в памяти. Теоретически, дифф нужен только для той части ресайклера, которая видна пользователю. Как бы теперь это воплотить...

Gleb
19.01.2017
09:41:40
Очень плохо: все преимущества БД теряются, вся коллекция в памяти. Теоретически, дифф нужен только для той части ресайклера, которая видна пользователю. Как бы теперь это воплотить...
ну ... ты прав.... теряется смысл .... SQLite-cursor имеет виртуальный вью порт-буферок и подкачивает/освобождает по мере хождения по нему, а тут уж приходится пусть не выгружать всё в листы - ну пробежаться по всем с двух сторон - точно

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

вот, для этого нужно где-то держать старую коллекцию
получив новый там же - перед возвратом в ui - предварительно просчет diffs - и вперед! - к листам в ui c diff-сами подмышкой

Quantum Harmonizer
19.01.2017
09:45:25
Ок, как вариант, можно попробовать хранить в памяти айдишники для проверки same, а на проверку equals забить

Quantum Harmonizer
19.01.2017
09:47:31
А, при обновлении можно составлять BitSet, показывающий, где были изменения, а где — нет.

Gleb
19.01.2017
09:49:58
А, при обновлении можно составлять BitSet, показывающий, где были изменения, а где — нет.
а там у тебя ж колбэк в диф-утилс возвращаешь true или false - изменился/не изменился - дальше он сам всё сделает

Quantum Harmonizer
19.01.2017
09:50:31
а там у тебя ж колбэк в диф-утилс возвращаешь true или false - изменился/не изменился - дальше он сам всё сделает
ну да, чтобы вернуть изменился/не изменился, нужно иметь обе версии объекта

вот их нужно сравнивать при обновлении объекта, например

после чего старый выбрасывать

Gleb
19.01.2017
09:51:52
после чего старый выбрасывать
так, тебе надо две версии датасетов - а колбэк сам выполнится по-row-но

https://developer.android.com/reference/android/support/v7/util/DiffUtil.Callback.html#areContentsTheSame(int, int)

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