Mike
Это ведь в styles? Если да, то там ошибка выдается. Так же погуглил и попробовал вставить в EditText - android:stateListAnimator="@anim/button_state_list_anim_material" Тоже получиш ошибку
Это в стилях, да, но то же значение можно задать непосредственно в вёрстке, просто чуть другой конструкцией. Можешь просто скопировать себе содержимое файла button_state_list_anim_material.xml. Или, блин, выставить ненулевой Elevation, чо я усложняю.
Mike
У кнопки тень анимируется в зависимости от того, включена ли она и нажата ли. Если не надо, то можно просто elevation.
It's me
Кнопку я вообще случайно заанимировал, изначально это не планировалось 😂
Imran
Произойдет ли здесь утечка? Насколько я понимаю, если мы передаем контекст, то утечка произойдет. А если передавать переменную, при создании которой указывался контекст? Минимальный пример: https://pastebin.com/CCSaG722
Mike
Произойдет ли здесь утечка? Насколько я понимаю, если мы передаем контекст, то утечка произойдет. А если передавать переменную, при создании которой указывался контекст? Минимальный пример: https://pastebin.com/CCSaG722
Зависит от того, удерживает ли объект, возвращённый методом Wearable.getDataClient(this), переданный туда this. В остальном нет, асинктаск в статик классе, неявно туда ничего не запеклось.
Mike
что хранит ссылку, то удержиавет (привет, джава рантайм и алгоритмы сборки мусора)
Mike
если же метод сохранит не саму активити, а, например, контекст приложения (activity.getApplicationContext()), утечки не будет
Imran
еще вопрос из этой же оперы: если мы обвернем объект, к примеру, в weakreference, то почему не желательно делать weakreference.get() в doInBackground()?
Mike
еще вопрос из этой же оперы: если мы обвернем объект, к примеру, в weakreference, то почему не желательно делать weakreference.get() в doInBackground()?
Не вижу причин. Смежные нюансы: — из бэкграунда нельзя трогать вьюхи — если время жизни объекта известно явно (как у активити), можно не делать WeakRef, а просто отменять задачу в onDestroy
Imran
вроде понял, спасибо. а где можно подробно почитать про это (кроме StackOverflow и мини-статей на medium'е)?
Imran
про потоки и прочее
Mike
Хз, можно просто погуглить о том, что такое утечка памяти (memory leak) в Java. Про многопоточку есть крутейшие доклады Шипилёва и Черёмина, но тяжёлые, продвинутого уровня.
Mike
Во, можно послушать Шипилёва о том, как работает сборка мусора.
Mike
про потоки и прочее
Краткий чеклист по многопоточке: 1. не шарить изменяемое состояние между потоками
It's me
да, вместе с stateListAnimator
Ну тогда я пошел переделывать всё, ибо у меня 18 SDK 😱
Mike
Ну тогда я пошел переделывать всё, ибо у меня 18 SDK 😱
на нём и ripple не заведётся. Будет крэш, я думаю. Самый простой и производительный способ сделать тени — 9-patch, хотя, если заморочиться, то можно и программно.
Mike
На 18? Ну у меня завелся вроде бы)
Да ну. Если не добавлял в проект какую-нибудь библиотеку с бэкпортом риппла, то не должен. На <21 просто нет RippleDrawable.
Doston
Друзья, такой вопрос. Можно ли продавать продукт/услугу внутри приложения, не используя in-app purchases? Например, музыку или подписку на стриминговый сервис, который можно использовать еще и с веба.
It's me
Attribute elevation is only used in API level 21 and higher (current min is 18)
Vlad
Всем привет, кто работал с Google Pay, возможно ли протестировать оплату пока приложение не запаблишено, и есть ли какие - то карты для тестов? Чет по документации не нашел ничего такого(
A.
Всем привет. Посоветуйте либу, чтобы делать фото (нужно для аватарки юзера), чтобы работала с API 17-27 и не крашилась. Спасибо.
A.
Fotoapparat 🤷🏻‍♂️
Спасибо, гляну.
Никита 🙃
Testing in-app purchases on Android – Bleeding Edge – Medium https://medium.com/bleeding-edge/testing-in-app-purchases-on-android-a6de74f78878
Никита 🙃
Test Google Play Billing  |  Android Developers https://developer.android.com/google/play/billing/billing_testing
Никита 🙃
@vladpylyp
It's me
<item name="stateListAnimator">@anim/button_state_list_anim_material</item> вот попробую и эдиттексту такой поставить
Перешел на SDK 21 (ранее действительно было 18), добавил android:stateListAnimator="@null», но все равно проблема не решилась…
Dyno
фух. с часу дня программирую
Dyno
пора спать ложиться)
Ivan
Ребят, при клике на foreground уведомление как-то можно открыть приложение, не зная ничего какие есть активити? У меня есть модуль, он подключается в приложении, в нем сервис с foreground уведомлением. Понятное дело что этот модуль не знает ни про какие activity. Как правильнее решить эту проблему?
Ivan
Или мб тогда в application зарегистрировать динамически ресивер, а в сервисе слать бродкаст?
Ivan
как? сервис не знает какое активити стартовое
Алексей
ваш модуль подключается при компиляции приложения (то есть, это gradle-модуль), или он устанавливается как отдельное приложение?
Sergey
Пока)
Вот, даже эти два твоих сообщения "Давай" и "Пока" можно было оформить в одно.
Vlad
Смотря что. подписку только если запаблишено, хотя бы во внутреннем тестировании. Покупки можно и так
Спасибо, но тут о in-app purchases, а мне надо Google Pay, именно оплата реальных товаров, продуктов.
Евгений
Всем привет! Вот в Notepad++ есть такой приятный функционал как подсказка текста, например набираешь "Andr" и, если в другом месте текста встречается слово "Android", будет предложено подставить его. Нет ли такого плагина для Android Studio? Гуглил, ничего не нашел
Евгений
Студия и так сама подсказывает. Чего именно не хватает?
ну вот в комментариях к классу набираю текст например - не подсказывает
Семен
Если быстро нажать на кнопку дважды, она может открыть активити дважды по умолчанию?
Евгений
Студия и так сама подсказывает. Чего именно не хватает?
интересует не только Android Studio, PHP Storm тоже, в HTML файле чтобы автоподсказка была
Семен
Да
То есть по умолчанию это обычное поведение вполне?
Sergey
То есть по умолчанию это обычное поведение вполне?
Да Если, не устраивает, просто делай кнопку неактивной на время обработки.
Mike
Перешел на SDK 21 (ранее действительно было 18), добавил android:stateListAnimator="@null», но все равно проблема не решилась…
Эдиттексту поставил null? У него и так его не было. Поставь всё же ненулевой elevation.
Семен
Да Если, не устраивает, просто делай кнопку неактивной на время обработки.
Решение я знаю. Меня просто интересует такое норм? Просто есть мнение, что такого по умолчанию быть не должно
Sergey
Решение я знаю. Меня просто интересует такое норм? Просто есть мнение, что такого по умолчанию быть не должно
Да, это нормальное поведение. На каждый клик информируется слушатель. Мнение, что должно быть иначе - ошибочно.
𝔇𝔢𝔫𝔦𝔰
Господа, а использование карт гугловских в своём приложении платное? Ну если выкладывать в гуглплей?
𝔇𝔢𝔫𝔦𝔰
ну то раньше. где-то тут проскакивала инфа, что просят 200 баксов, независимо физ или юр.лицо.
Ferrero
раньше было бесплатное
Лимиты бесплатные снесли?
𝔇𝔢𝔫𝔦𝔰
незнаю. вот и спрашиваю.
𝔇𝔢𝔫𝔦𝔰
что-то связанно с ключами картовскими. Есть отладночный и релизный. И вот за релизный типа 200 баксов. Хотя я понятия не имею что за ключи такие. Получил один и всё. И не понятно какой он.
Алексей
ну то раньше. где-то тут проскакивала инфа, что просят 200 баксов, независимо физ или юр.лицо.
ну чтобы публиковать приложения - нужно впринципе, кажется, $20 заплатить
Алексей
но и всё
𝔇𝔢𝔫𝔦𝔰
ну то 20 за регистрацию. Ну буду надеятся что всё таки на шару. Хотя какие то лимиты там есть. Читал что 10 000 за сутки. Если больше то уже платное
𝔇𝔢𝔫𝔦𝔰
Что
думаю имеет в виду что за регистрацию аккаунта
Vladislav
Всем привет. Вопрос такой. У меня есть разработанное приложение и нужно реализовать функцию оплаты. Суть такова. За скачивание человек платит деньги. Если хочет купить доп функционал - доплачивает. хочет купить новую, обновленную версию приложения - еще доплачивает. я думал сделать это через гугл плей, но как реализовать функцию доплаты? что больше подойдет?
Vladislav
а что с гугл плеем? комиссия есть там какая то, куда деньги приходят после оплаты?
Ferrero
На доп функционал, а на обновления другое платное приложение как вариант
Ferrero
Это все в гугле есть уже
Vladislav
мануалы сам почитаю тогда, как оплата приложения в гугле идет? какую комиссию берут? куда деньги прийдут? или есть это все у них на сайте?