@android_ru

Страница 2914 из 3205
Vladislav
04.04.2018
15:23:57
нашел) onBackPressed()

Алексей
04.04.2018
15:25:30
нашел) onBackPressed()
Насколько я помню, гуглы в свое время были очень недовольны возможностью переопределить кнопку назад и очень не рекомендовали это делать

Vladislav
04.04.2018
15:25:49
а как лучше сделать?

Tishka17
04.04.2018
15:25:51
уже маленькие гружу
А он их точно не апскейлит?

Google
Tishka17
04.04.2018
15:26:05
И вообще, может просто в гифке кадров мало?

Artem
04.04.2018
15:26:13
не, сама по себе гифка ок

в браузере тоже прям все огонь

Андрей
04.04.2018
15:26:22
а как лучше сделать?
никак, то что гуглы там себе считают ничего не значит

Vladislav
04.04.2018
15:26:45
хах))

Artem
04.04.2018
15:27:03
А он их точно не апскейлит?
скорее даунскейлит, все же они не совсем маленькие)

Алексей
04.04.2018
15:27:10
хах))
А в чем задача-то?

Андрей
04.04.2018
15:27:33
все адекватные люди считают что венгерская нотация - доисторическая бесполезная херня, например, но гуглу похрен

Tishka17
04.04.2018
15:27:33
Artem
04.04.2018
15:27:59
А без скейла тормозит?
даже тестовые гифки которые они кидали в обсуждениях тормозят

Vladislav
04.04.2018
15:28:02
@InsanusMokrassar перед закрытием активности пользователя спросить у него, действительно ли он хочет это сделать

Google
Андрей
04.04.2018
15:28:48
@InsanusMokrassar перед закрытием активности пользователя спросить у него, действительно ли он хочет это сделать
обычно просто тост/снекбар который говорит что для выхода надо еще раз нажать

Tishka17
04.04.2018
15:28:53
Снэкбар - это уведомление с кнопкой

Или без кнопки

А не алерт

Алексей
04.04.2018
15:30:13
Не могу поспорить с товарищами выше

А насчет кнопки назад...

Ну а никак иначе и не сделаешь

точнее есть варианты

Но костыльные

Что бессмысленно

Vladislav
04.04.2018
15:32:02
@DEADMC да, так наверное лучше) а как это реализовать?)

Андрей
04.04.2018
15:32:19
@DEADMC да, так наверное лучше) а как это реализовать?)
стесняюсь спросить, в чем проблема?

Tishka17
04.04.2018
15:32:40
А что такого в проге, что ее активити закрыть просто так нельзя?

Vladislav
04.04.2018
15:33:23
@DEADMC как посчитать двойной клик для выхода

?

Tishka17
04.04.2018
15:33:38
Какая разница, нажал назад или свернул и забыл?

Андрей
04.04.2018
15:33:56
@DEADMC как посчитать двойной клик для выхода
с помощью счетчика, если счетчик = 1 запускаем таймер, скажем на 5 секунд, как таймер всё - обнуляем счетчик

Vladislav
04.04.2018
15:34:17
понял) спасибо!

Tishka17
04.04.2018
15:34:23
Да не нужен таймер. Просто запомни когда нажимали последний раз

И по нажатию проверяй задержку

Google
jied
04.04.2018
15:34:57
А что такого в проге, что ее активити закрыть просто так нельзя?
Например при редактировании чего-то спросить сохранить изменения

Андрей
04.04.2018
15:35:00
пожалуй да, даже проще будет

Tishka17
04.04.2018
15:35:37
Например при редактировании чего-то спросить сохранить изменения
Ну это другой кейс, тут согласен. Но тут самое то для алерта, а не двойного назад

Алексей
04.04.2018
15:36:06
В онрезюме можно обнулять счетчик

Дабы по выходу из других активити в корневой необходимость дважды нажимать перед выходом сохранялась

Валерий
04.04.2018
15:51:26
Кто-нибудь умеет рисовать layer-list drawable в xml со смещением bitmap'а относительно центра?

Звездный
04.04.2018
15:59:57
Привет! Кто нибудь знает есть ли java чатик?

Андрей
04.04.2018
16:00:37
но лет 5 назад точно был

Vladislav
04.04.2018
16:01:07
где взять view для Snackbar?

Блэцкарь
04.04.2018
16:01:43
Добрый вечер, у меня вопрос, я добавил в своем приложении deeplink, но в приложении есть банеры по которым нужно переходить именно на сайт, а не в приложение, как это реализовать?

Валерий
04.04.2018
16:04:47
Tishka17
04.04.2018
16:08:18
где взять view для Snackbar?
android.support.design.widget.Snackbar

Блэцкарь
04.04.2018
16:16:24
Webview запили в приложении и открывай там
будет сразу webview открываться, без вопроса, через какое приложение открыть?

Dmitriy
04.04.2018
16:22:12
Подскажите, уже задавал вопрос. Создаю нотификацию из сервиса с PendingIntent, передаю в него Intent с экстра. Если приложение было открыто, то при клике происходит все правильно- перехожу на указанную активити и поулчаю экстра. Если же приложение не было открыто то запускается мейнактивити, которое ланчер без экстра.
Просто у FCM есть два типа пуша: Notification и Data. Notification если приложение открыто попадает в сервис, в котором вы формируете как должен выглядеть пуш, однако если закрыто(свернуто) то просто показывает пуш, который при клике открывает launch screen. А вот data пуши обрабатываются всегда через ваш сервис. По описанию проблемы похоже, что формируется именно notification уведомление. Почитать можно тут https://firebase.google.com/docs/cloud-messaging/concept-options#notifications_and_data_messages

Google
Челодой
04.04.2018
16:40:08
ребят, только только осваиваю rx, и меня вопрос. Допустим приложение посылает запрос в сервер, в случае, удачного завершения, я хочу удалить данные из локальной БД. Подскажите, как это првильно реализовать?

функция которая посылает запрос на сервер, возвращает Observable, думал в методе onComplete вызвать функцию удаления из БД, но как понимаю он вызывается даже когда onError. правильно?

направьте если я не прав

Челодой
04.04.2018
16:45:51
Для Observable - doOnNext
а функция, удаления из БД, должна возвращать какое-то значение? пока она у меня ничего не возвращает

Admin
ERROR: S client not available

Челодой
04.04.2018
16:46:23
Но мне кажется для вас логичнее использовать Single вместо Observable
прочитав, статью на хабре понял это. но пока делаю по туториалам…

Dmitriy
04.04.2018
16:47:01
ну doOnNext на вход получает то что пришло, и обычно используется для обработки пришедших данных, можно вызвать метод для БД который удалит старые данные и запишет новые в в return просто вернуть то что пришло от сервера

.doOnNext(result -> { deleteDataFromDbAndSaveNewData(result); return result; })

Челодой
04.04.2018
16:50:39
.doOnNext(result -> { deleteDataFromDbAndSaveNewData(result); return result; })
по моему все так как вы написали…

но почему то не удаляет данные из БД

Aleksandr
04.04.2018
16:54:17
В GoogleSignInOptions есть параметр requestIdToken(). Где его брать ?Кто знает

Dmitriy
04.04.2018
16:54:34
А в onNext то вообще попадает?

Tishka17
04.04.2018
17:00:50
Fvre
04.04.2018
17:01:45
Просто у FCM есть два типа пуша: Notification и Data. Notification если приложение открыто попадает в сервис, в котором вы формируете как должен выглядеть пуш, однако если закрыто(свернуто) то просто показывает пуш, который при клике открывает launch screen. А вот data пуши обрабатываются всегда через ваш сервис. По описанию проблемы похоже, что формируется именно notification уведомление. Почитать можно тут https://firebase.google.com/docs/cloud-messaging/concept-options#notifications_and_data_messages
Пуш приходит через fcm в сервис, в нотификейшене записано сообщения, в дата записаны доп параметры, какую активити и таб открыть. Проблема в том, что, если активити никакая не запущена или свернута, то при нажатии на нотификейшен не передаётся экстра, пробовал через фильтры у активити также-запускается ланчер без экстра. Если ж приложение уже запущено, все открывается отлично

Stas
04.04.2018
17:02:14
Всем привет, можно ли либы в градле разделить на файлы и подключить уже эти файлы ?

Fedulov
04.04.2018
17:04:25
.doOnNext(result -> { deleteDataFromDbAndSaveNewData(result); return result; })
использовать doOnNext стоит только для второстепенных эффектов типо, например логирования.

Google
Fedulov
04.04.2018
17:04:59
Всем привет, можно ли либы в градле разделить на файлы и подключить уже эти файлы ?
можно либы прописывать в отдельных модулях, если в этом есть необходимость

Dmitriy
04.04.2018
17:05:10
Stas
04.04.2018
17:05:49
Fedulov
04.04.2018
17:05:51
Не ради спора, а ради интереса, по какой причине?
он просто не предназначен для этого, Jake Warthon упомянал это в паре конференций

Челодой
04.04.2018
17:06:21
Dmitriy
04.04.2018
17:06:52
@Deathw1ng Это может приводить к каким либо проблемам или же просто, когда он задумывался, то не предполагалось такое использование?

Fedulov
04.04.2018
17:08:52
Если вы работаете с RxJava, старайтесь работать с потоками данных, а выполнение потенциально тяжеловесных функций в doOnNext уже не вписывается в Rx, но вам никто не запрещает такое делать, серьёзные проблемы связанные с этим можно обсудить в чате про Rx

Dmitriy
04.04.2018
17:08:53
Спасибо, проверю способ. Но чёт сомневаюсь
Точно сработает, почитайте на сайте firebase, там прям написано что notification обрабатывается системой в обход вашего сервиса, если приложение на на переднем плане

Dmitriy
04.04.2018
17:10:31
Fedulov
04.04.2018
17:11:36
Тогда что конкретного можете посоветовать? Где вызвать функцию удаления из ДБ?
потенциально, это уже completable или single, если вы заинтересованы в результате этой операции

Просто мне казалось что именно doOnNext отрабатывает еще на subscribe потоке, а уже onNext, который внтури метода subscribe работает в observe потоке. Почитаю на эту тему
поток в данном случае не имеет значения, например если вы вообще не переключаетесь между потоками, всё будет выполнено в MainThread

Dmitriy
04.04.2018
17:12:43
Приведу пример

Fedulov
04.04.2018
17:12:59
более того, observeOn переключит поток на котором будет выполняться doOnNext

Dmitriy
04.04.2018
17:14:35
getObserver() .subscribeOn(Schedulers.io()) .observeOn(AndroidSchedulers.mainThread()) .doOnNext(this::saveToDb(response)) .subscriber(this::showData(response), this::showError(throwable)); Верно я понимаю что doOnNext, исходя из сказанного выше будет выполняться в mainThread?

Fedulov И второй вопрос если на первый ответ да getObserver() .subscribeOn(Schedulers.io()) .doOnNext(this::saveToDb(response)) .observeOn(AndroidSchedulers.mainThread()) .subscriber(this::showData(response), this::showError(throwable)); В таком случае тоже в mainThread?

Fedulov
04.04.2018
17:16:53
во втором случае не должен

Dmitriy
04.04.2018
17:20:20
во втором случае не должен
Спасибо за ликбез) пошел проверять)

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