Dzmitry
Подскажите, есть активити в которой фрагмент менеджер меняет фрагменты. Как передавать в них какие-либо параметры?
Dzmitry
Fragment#setArguments
Об этом способе я знаю, а он сработает если достать фрагмент из бэкстека?
Dzmitry
да, в этом и смысл аргументов, что они живучие
Т.е. останутся старые аргументы или при каждой транзакции можно ставить новые?
Konstantin
Всем привет! Не подскажите, может ли выполнение exec ping и getprop в приложении вызвать вопросы у гугла при релизе? И как оно в плане разрешений?
Artem
Всем привет! Ребята подскажите как бороться с такой ситуацией - реализовываю pitch to zoom в камере и фокусировку. В setOnTouchListener обрабатываю, если ивент пришел с pointerCount > 1 - то обрабатываю зум, в ином случае обрабатываю ACTION_UP для фокусировки. И теперь у меня после зума, когда последний палец убирается - то срабатывает фокусировка, а нужно это скипать
Alexander
Всем привет. Никогда не сталкивался с подобной проблемой. Возможно, кто-нибудь может подсказать лучшую практику по этому вопросу... Вопрос: есть Activity, на которой размещен MaterialButton. Кнопка через реактивщину вызывает callback, который приходит в главный поток, у callback-метода есть параметр enabled: Boolean, который идентифицирует состояние контроллера (включено или выключено). Если пришло true нам нужно проиграть 1 звук, если false, то 2-й. Также проигрывать 2-й звук нужно когда контроллер без помощи пользователя (пользователь не нажимал на кнопку) отправил этот callback (т.е. завершил работу), это произойдет, если активность вызвала onPause. onPause может быть вызван, если юзер свернул приложение и когда запускается другая активность. В случае, когда запускается другая активность, звук не должен прекращаться. Собственно в этом и загвоздка. Что я делаю: использую SoundPool, создаю его в активити, загружаю 2 звука (примерно по 0.5 сек каждый), проигрываю в callback'е от реактивщины, но при открытии другой активити звук не воспроизводится, потому что SoundPool делает SoundPool#release. Есть какая-нибудь практика хорошая, как загружать ресурсы при старте самого приложения и выгружать при окончании работы приложения?
Артем
Привет, подскажите пожалуйста, кто-то подключал Open Bidding Mediation https://developers.google.com/admob/android/early-access/open-bidding? Для его подключения нужно только заменить MobileAds.initialize(this) на MobileAds.initialize(this, new OnInitializationCompleteListener() { @Override public void onInitializationComplete(InitializationStatus initializationStatus) { Map<String, AdapterStatus> statusMap = initializationStatus.getAdapterStatusMap(); } }); и подключить нужные Bidding partners через страницу AdMob?
Анна
Добрый день! Кто-нибудь может скинуть чат с Java программистами? Заранее спасибо!
Vadim
можно ли в модуле ссылаться как то на Application класс?
Анна
@jvmjobs
Спасибо огромное‼️
Yuliya
Привет снова)Ищу информацию насчет webrtc для голосового чата с использованием вебсокетов,но все так смутно,что не понять ничего,какую библиотеку подгружать,как подключаться и использовать,может кто-то знает хорошие статьи или даже туториалы?
Vadim
контекст можно инжектить
Ну у меня идея в том что в приложении есть application в нем инициализация dagger и после я во фрагменте делаю inject. А в модуле у меня нет ссылки на application
Andre
Ну у меня идея в том что в приложении есть application в нем инициализация dagger и после я во фрагменте делаю inject. А в модуле у меня нет ссылки на application
ну смотри, можно повесить интерфейс на апп, и сделать инжекс с этим интеерфесом. И уже в модуле кастовать application as IMyProvider
Vadim
а зачем тебе апп?
для инициализации и хранении AppComponent
Yuliya
заморочки заказчика)потом возможно будет видеочат
Yuliya
раньше никогда не использовала webrtc,поэтому не могу понять,как правильно его подключить,находила либы и пробовала по всяким статьям,но не работает подключение
Dmitriy
как в hms протестировать iap?
ximik
Приветствую. Последние 2 недели кто-то сталкивался с долгим обновлением приложения в гугл сторе?
Anonymous
Привет! Какие теги необходимо указывать в activity-alias с android:targetActivity? Нужно ли дублировать теги из targetActivitiy в alias? Дока не очень информативная)
Кирилл
В Android SDK — нет
А это важно?
Mike
А это важно?
Если задача легко решается SDKшными инструментами, зачем использовать что-то ещё?
ximik
у них с начала карантина это тянется
не, все более менее обновлялось. последние 2 недели долгая ручная проверка
Nick
не, все более менее обновлялось. последние 2 недели долгая ручная проверка
у нас бетку проверяли недавно в течении двух недель, а вот релизную версию могут на следующий день зааппрувить
Кирилл
Если задача легко решается SDKшными инструментами, зачем использовать что-то ещё?
Нужно использовать тот инструмент, который лучше всего решает твои задачи и которым тебе проще всего пользоваться (и твоей команде), а не дрочить на SDKшность.
Vitaly
Если задача легко решается SDKшными инструментами, зачем использовать что-то ещё?
Интересно, как задача работы с асинхронным кодом легко решается средствами SDK?
ximik
Всегда быстро все было
было. но не сейчас?
Vitaly
Интересно, как задача работы с асинхронным кодом легко решается средствами SDK?
Handler + Executors слишком много лишнего кода заставляют писать
Vitaly
Thread?
Аналогично, слишком много кода приходится писать В чем смысл "дрочить на SDKшность"?
Mike
Не стоит его злить, а то в рид-онли кинет.
можно примеры случаев, когда я кого-нибудь кинул в ридонли за другое мнение?
Vitaly
в сраснении с чем?
Корутины или RxJava (ее я недолюблюиваю, но все же)
Artur
Нет, картинка отдельно.. текст импортировал в png с фотошопа
PNG как раз плохо скейлится. Советую посмотреть на векторную графику: https://developer.android.com/studio/write/vector-asset-studio или вообще загрузить шрифт и печатать что нужно в TextView: https://developer.android.com/guide/topics/ui/look-and-feel/downloadable-fonts
Mike
Корутины или RxJava (ее я недолюблюиваю, но все же)
Не существует в этом мире ничего более многословного, чем RxJava.
Кирилл
Я не дрочу на SDKшность. Когда мне нужны корутины, я беру корутины. Когда не нужны — не беру.
Я не обсирал экзекьютеры, я ответил на твоё сообщение, в котором призывал брать инструмент только потому что он идёт из коробки. :)
Vitaly
Не существует в этом мире ничего более многословного, чем RxJava.
С RxJava согласен, порой удобно, но порой проще и Handler юзать Но если сравнивать с корутинами? Может ли быть что-то проще?
Mike
Я про альтернативное мнение ни слова не сказал.
А про что? За что я, по-твоему, заридонлил бы его?
Mike
С RxJava согласен, порой удобно, но порой проще и Handler юзать Но если сравнивать с корутинами? Может ли быть что-то проще?
Корутины очень компактные, но как раз очень сложные. Скоупы, отмена, джобы — очень много нюансов.
Mike
А?
цитирую себя: > Если задача легко решается SDKшными инструментами
Danil
А про что? За что я, по-твоему, заридонлил бы его?
Стоит мне задать "тупой" вопрос по твоему мнению и получить рид-онли на сутки 👍
Кирилл
Корутины очень компактные, но как раз очень сложные. Скоупы, отмена, джобы — очень много нюансов.
> скоупы В андроид мире уже давно есть экстеншены, которые дают тебе скоуп вьюхи/вьюмодели, за ним следить не надо. Так что остаётся дёргать на нём. Это куда проще, чем хендлить жц всяких асинхронных запросов самому. Плюс даёт плюшки. > отмена Дак и не надо ничего руками отменять > джоба Нуууу, сейчас джобы уже редко используются руками. Обычно только если ты хочешь лучше контролировать жц запущенной корутины. Но, как бы, схожие притивы есть у экзекьютеров.
Данил
Ребят, никто не подскажет в чем проблема. Хочу использовать com.google.maps.android:android-maps-utils:2.0.3б чтобы была кластеризация. Перенес все из своего приложения, но точки так и не показываются Подозреваю, что это из-за googleMap Если вызвать clusterManager = ClusterManager(MyApplication.applicationContext(), googleMap!!) То он падает А если вызвать clusterManager = ClusterManager(MyApplication.applicationContext(), googleMap) googleMap?.setOnCameraIdleListener(clusterManager) То приближение срабатывает, но точки не отображаются
Кирилл
всё так, пока у тебя * тривиальная логика * нет ошибок
> тривиальная логика А на экзекьютерах сложная логика пишется намного короче и с меньшим количеством подводных камней? > нет ошибок Ты об экзепшенах? Или об ошибках самого разработчика?
Юрий
Всем привет. Такой вопрос, как правильно организовать ScrollView в BottomSheetDialogfragment. У меня сейчас получается просто стоит ScrollView, но проблема в том, что при пролистывании вниз список, он потом не поднимается, я так понимаю потому, что на слайд вверх начинает реагировать BottomSheet. Как это исправить?
Danil
Как же мне нравятся эти разложения цитат друг друга)
Mike
> тривиальная логика А на экзекьютерах сложная логика пишется намного короче и с меньшим количеством подводных камней? > нет ошибок Ты об экзепшенах? Или об ошибках самого разработчика?
Количество кода такое же. Подводные камни другие: нет автоматического cancellation propagation, но и дополнительной сложности тоже нет. Я и про эксепшены, и про возможные гонки, вот это всё.
Vitaly
Количество кода такое же. Подводные камни другие: нет автоматического cancellation propagation, но и дополнительной сложности тоже нет. Я и про эксепшены, и про возможные гонки, вот это всё.
Кажется, что каждый привык к определенной технологии, поэтому она кажется ему простая Кто-то к Executors, кто-то к RxJava, кто-то к корутинам
Кирилл
Количество кода такое же. Подводные камни другие: нет автоматического cancellation propagation, но и дополнительной сложности тоже нет. Я и про эксепшены, и про возможные гонки, вот это всё.
Про экзепшены я примерно понимаю, ты, наверное, об async { throw NPE() }? А про гонки не понял, гонка состояний это проблема, которая может появиться с использованием любой технологии для асинхронности, нет?
Anonymous
гугли лучше
попробуй сам) в доке ни слова вообще об этом
Mike
Про экзепшены я примерно понимаю, ты, наверное, об async { throw NPE() }? А про гонки не понял, гонка состояний это проблема, которая может появиться с использованием любой технологии для асинхронности, нет?
Про эксепшены я про то, что есть CancellationException с особым статусом, есть exception handler. Про гонки — сейчас под рукой нет примера, но где-то видел: код на JS с async-await, чтобы избавиться от гонок, должен разбухнуть до размеров классического callback hell.
死は終わりではない
Я создал ViewPager2, всё работало прекрасно, но после того как я поставил ScrollView, оно перестало работать (Viewpager2 находится внутри RealtiveLayout который внутри ScrollView) как сделать чтобы он опять заработал?
Кирилл
Про эксепшены я про то, что есть CancellationException с особым статусом, есть exception handler. Про гонки — сейчас под рукой нет примера, но где-то видел: код на JS с async-await, чтобы избавиться от гонок, должен разбухнуть до размеров классического callback hell.
Про kotlin/js не могу что-то ответить, т.к. не писал на нём. Ну и всё что я о нём знаю - ему нужна серьёзная доработка.) Про CancellationException - он, в идеале, должен оставаться только внутри и ты его не должен трогать.) Экзепшен хендлер - да, то ещё счастье, но наверное кому-то полезно, а я его видел только в документации, в реальной разработке (у нас в компании) его никто не юзает.