
The
30.03.2018
06:08:30
ребята, в новой студии в сборках не отображаются последние изменения.
и проблема с переименованием апк в gradle (outputFileName)
Не может якобы найти апк для запзуска.
Исправляется так: убираешь переименование. собираешь апк. включаешь переименование. пересобираешь и все ок. так по два раза пересобирать апк каждый раз, зартратно.

Sergey
30.03.2018
06:16:00
тоаст показывает
лог нет

Google

Sergey
30.03.2018
06:16:08

Albert
30.03.2018
06:18:34
На эмуляторе так же? Или только на конкретном устройстве?

Sergey
30.03.2018
06:20:56
сейчас чекну
только на телефоне

Rezeda
30.03.2018
06:27:05

Sergey
30.03.2018
06:27:13
леново планшет
я на 6.0 недавно обновился

Albert
30.03.2018
06:27:49

Sergey
30.03.2018
06:27:55
ок, спасибо

Rezeda
30.03.2018
06:27:58
Ну на моём надо было отдельно включать логи с телефона, на Хуавее соответственно

Aleksandr
30.03.2018
06:45:07
Всем привет. Расскажите кто как управляется с фрагментами (используется либы, отказался от фрагментов и т.п.). У меня в продакшене периодические падения по stateLoss, fragment already added, приход onCreateView когда уже нет activity или фрагмент уже не добавлен или save instance state был уже вызван. Я думаю, может есть какое-то общее решение, или статьи по этому делу, или необходимо все точечно решать?

Алексей
30.03.2018
06:46:23

Aleksandr
30.03.2018
06:48:13

Google

Алексей
30.03.2018
06:49:28
не особо. Офф.доки + гуглить по каждому падению.

Aleksandr
30.03.2018
06:51:54

jied
30.03.2018
06:54:27
Ну и копать в сторону view state

Aleksandr
30.03.2018
06:58:00
Мне просто интересно, кто-нибудь используется альтернативы фрагментам в продакшене?

Grushin
30.03.2018
07:01:01

Aleksandr
30.03.2018
07:01:58

Grushin
30.03.2018
07:02:30
есть правда некоторые камни
самый который запомнился это то что commit() у транзакции вылетает если приложение в бекграунде

Gerc
30.03.2018
07:07:43
Кондуктор. Flow, Pancakes
Куча замен глючным фрагментам

Artem
30.03.2018
07:11:54
ребята, нужно во фрагменте переопределить onBackPressed(). Это возможно, или нучтот что-то лепить с интерфесов?

Nick
30.03.2018
07:12:37
у фрагмента нет этого колбека
надо лепить
хотя можно по идее и без интерфейсов, управление фрагментом ведь идёт сверху (к примеру из активити)

Artem
30.03.2018
07:19:15
в колбеке посмотреть на верхний фрагмент в стеке, если он тот что мне нужно, то сделать то что мне нужно.... это ничем не попахивает?
а точнее посмотреть на тег

Alexey
30.03.2018
07:21:31

Nick
30.03.2018
07:25:55
можно костыльнуть и держать поле currentFragment :)
или "state" держать, энумчик с "типами" фрагментов

Google

Nick
30.03.2018
07:26:33
я бы сделал последнее

Roman
30.03.2018
07:38:05

Andrew
30.03.2018
07:42:28
Дороу, народ.
Может кто подсказать, почему после обновления приложения(2 января), у меня начали падать установки(может Гугл что-то новое придумал аля установка приложений без загрузки и тд)? Фидбека не получаю по ошибкам, сбоям и тд, т.е. в этом плане всё гуд. Единственное, что не даёт мне покоя - было увеличено кол-во показов рекламы, но не думаю, что это так повлияло. Приложуха как было топ1 в своей категории. так и осталась.
Может у кого-то сейчас похожий спад по установкам идёт?
Буду рад любым идеям и догадкам.
Всем Спасибо и хорошего дня??

Alexey
30.03.2018
07:50:54
Может каменты в топе негативные

Donna Anna
30.03.2018
07:56:22
Падения на новой версии? Негативные комментарии?

Unknown
30.03.2018
08:08:41

Сашка
30.03.2018
08:15:17
Ребят, как считать файл из андроида? знаю что через onActivityResult в гугле нахожу примеры только как достать фотку, как любой другой формат не могу никак нагуглить хелп

Ivan
30.03.2018
08:18:28
тут ищи
https://github.com/edsilfer/sticky-index

Алексей
30.03.2018
08:48:51
А может кто подсказать, какие есть варианты отправки KeyEvent в систему? Дело в том, что отправлять я его буду из системного сервиса и не знаю, какая вьюха на данный момент активна, а InputManager.getInstance().injectInputEvent(event, InputManager.INJECT_INPUT_EVENT_MODE_WAIT_FOR_RESULT); отрабатывает с ошибкой (точнее возвращает false и не инжектит KeyEvent)


Fvre
30.03.2018
08:49:33
Привет, подскажите, ипользую библиотеку https://github.com/evernote/android-job. Хочу чтобы процесс запускался, ждал интернета и времени когда ему система даст запустить вообще(в течение 23 часов) ну и делал свою работу. Отключил интернет, запустил джоб, включил интернет-джоб работу не сделал. Он ждет лучший момент или я не так написал? new JobRequest.Builder(TAG).
setUpdateCurrent(true)
.setBackoffCriteria(TimeUnit.MINUTES.toMillis(15), JobRequest.BackoffPolicy.LINEAR)
.setExecutionWindow(1, TimeUnit.HOURS.toMillis(23))
.setRequiredNetworkType(JobRequest.NetworkType.CONNECTED)
.setRequirementsEnforced(true)
.build()
.schedule();

Алексей
30.03.2018
08:51:00
Я смотрел, в исходниках всё приводит к http://androidxref.com/6.0.1_r10/xref/frameworks/base/core/jni/android_view_KeyEvent.cpp#78 <- этому методу, в котором mCharacters не используется, а другие поля (из-за специфики составления KeyEvent объекта) вызывают ошибку (не скажу точно, какое поле, вроде как keyCode)

Andrew
30.03.2018
09:03:46
комментов негативных нету, всё норм

Валерий
30.03.2018
09:29:57
есть ли какой-нибудь стабильный идентификатор устройства, выживающий при переустановках приложения?

Алексей
30.03.2018
09:30:19
но это очень не точно

Sergey Mitrofanov
30.03.2018
09:30:37

Google

Валерий
30.03.2018
09:30:41

Алексей
30.03.2018
09:31:14
точнее, deviceId есть и его можно использовать, но никто не гарантирует, что при обновлении системы/перепрошивке deviceId не изменится

Sergey Mitrofanov
30.03.2018
09:32:08
он вроде бы с O андроида per_app генерируется
и per_установка.
Вообще есть еще IMEI (тоже пермишены нужны), серийник и пр вещи.
Но с ними другая беда - китайцы (дешевые бренды) часто всем своим девайсам забивают один и тот же IMEI,серийник и пр.
Ну и опять же меняются они при желании без проблем, иногда даже без рута через инженерное меню…

Admin
ERROR: S client not available

Алексей
30.03.2018
09:33:23

Валерий
30.03.2018
09:33:54
вопрос только про переустановку, root и обновление системы не настолько критичны
грубо говоря, чтобы пользователь не получил лишнюю скидку в $5 просто переустановив

Никита
30.03.2018
09:34:37
Я же через студию выполнение на десктопе могу запустить только с помошью junit?

Алексей
30.03.2018
09:34:44

Sergey Mitrofanov
30.03.2018
09:35:01

Алексей
30.03.2018
09:35:15
да, я тот же вопрос задал, по сути:)

Валерий
30.03.2018
09:35:58
сделать заказ можно и анонимно, для работы с бэкэндом используются куки, которые выдаёт сервер при первом запуске
если сервер сможет "узнать" устройство, он ему старые куки отдаёт

Алексей
30.03.2018
09:36:26
как-то странно
ну то есть я понимаю зачем

Sergey Mitrofanov
30.03.2018
09:37:10

Алексей
30.03.2018
09:37:14
используй deviceId тогда, думаю

Google

Алексей
30.03.2018
09:37:26

Никита
30.03.2018
09:37:27
не понял
ну мне типа надо на коленке наваять не андроид проект а java проект... и запустить на десктопе

Валерий
30.03.2018
09:38:04

Sergey Mitrofanov
30.03.2018
09:39:00

Алексей
30.03.2018
09:39:03
пардон, получилось

Atlas
30.03.2018
09:39:06
Добрый день! Извиняюсь за флуд перед теми, кто сидит в нескольких чатах по Android, но очень нужна помощь по SharedViewModel. Хочу передать данные из одного фрагмента в другой, но в таргет фрагменте, в котором нужно использовать пришедшие данные, не заходит в метод observe.
Общая суть такова: во втором фрагменте выбираю некое значение, выхожу из фрагмента в предыдущий и с помощью датабайндинга отображаю новое пришедшее значение, но оно не приходит.
Как мне кажется, важной деталью здесь является то, что фрагмент, из которого приходят данные, отменяется, то есть он некий тупиковый (сделано для того, чтобы пользователь на него не мог вернуться с помощью onBackPressed(), например, и, чтобы не заполнялся стек)
Если не сложно, есть какие-либо идеи на этот счет?
Просто не представляю, почему не входит внутрь метода observe. там просто не выполняется код вообще

Алексей
30.03.2018
09:39:07
дичь какая-то
-.-

Никита
30.03.2018
09:39:41

Валерий
30.03.2018
09:40:52
в общем стабильного варианта без пермишеннов нет?
1. Settings.Secure.ANDROID_ID - неуникальный per_app_install на восьмом андроиде
2. Хранение в external_storage, IMEI, серийники железа - требует пермишена
А что насчет ADVERTISING_ID, кто-нибудь знает его время жизни?

Sergey Mitrofanov
30.03.2018
09:42:14
маркетинг - "скачайте и получите 5%"
Ну, я хз тогда )
Гугл вроде как запрещает распространение вне плей маркета, а в плей маркете там вроде бы такие фокусы (типа установи и получи скидку) не делаются. Но может быть у меня и устаревшая информация о инструментах в маркете )

Валерий
30.03.2018
09:42:40
то есть устанавливается он через GPlay, но оплата через платежные системы

Sergey Mitrofanov
30.03.2018
09:43:22

Валерий
30.03.2018
09:44:09
с другой стороны, насколько я знаю использование его не для рекламы, а для идентификации пользователей запрещено. хз будут ли санкции

jied
30.03.2018
09:44:45

Sergey Mitrofanov
30.03.2018
09:45:13
Так а предложение скидки при установке действует для всех новых пользователей или нет?
Если да, то что мешает привязать разовую скидку к новой регистарции пользователя? )