Anonymous
Konstantin
нужно конкретно в ОС ставить, или можно на локальный сервер (сборка apache+mysql+php)?
курл это консольная утилита, например вот тут все есть https://curl.haxx.se/windows/
Sasha
Господа и дамы, у меня есть фрагмент, в его коде я делаю его реплейс вторым фрагментом, при этом второму фрагменту указываю первый как target fragment. При возврате результата в первый фрагмент в onActivityResult вью первого фрагмента ещё не создана. Предложите плиз нормальный вариант изменения состояния вью с учётом результата из второго фрагмента
Mikalaj
Так что скажите? При переключении hide/show быстрее за счет сохранения layout верно? attach/detach пересоздает layout фрагмента, из-за этого дольше переключение происходит, но использует меньше ресурсов. Сказанное выше верно? есть еще какие-то тонкости или камни?
Использование ресурсов — это не константа, особенно в мире ОС, где ещё миллионы операций происходят рядом с вашим приложением. Использование ресурсов — это про определённый момент времени. С точки зрения потребления ОЗУ выгоднее пересоздавать при условии, что пересоздание будет происходить не часто (что такое "часто" зависит от конкретного случая, можно засрать хип, например, хоть это и исключительная ситуация, которая никогда не произойдет), с точки зрения использования ЦПУ выгоднее создать один раз Короче говоря, нельзя дать ответ на ваш вопрос
Mikalaj
Спасибо, развернутый ответ
Для себя выработал такой кейс Всё, что используется постоянно пользователем, создаётся единожды по необходимости и переиспользуется А всё, что редко, пересоздается каждый раз
Mikalaj
Хм, а где кейс в итоге?
скоро принесу, там с машин лернингом и изучением поведения пользователя, чтобы выгоднее использовать ресурсы
Igor
Ребят, кто что использует для удаления item в RecyclerView?
Igor
😦
как вариант ItemTouchHelper просто интересны варианты, ну или RecyclerView -Selection
Timur
как вариант ItemTouchHelper просто интересны варианты, ну или RecyclerView -Selection
Понял. Думал что со всем отстал и спрашиваете про фреймворки для удаления итемов из recycler(a) 😅
Яўгеній
курл это консольная утилита, например вот тут все есть https://curl.haxx.se/windows/
Эм.. Что дальше делать? Использовать команды: http://php.net/manual/ru/book.curl.php
Konstantin
Эм.. Что дальше делать? Использовать команды: http://php.net/manual/ru/book.curl.php
дальше гугли как отправлять файлы через курл, тестируй свой бэкенд пока не получится отправить
Konstantin
Эм.. Что дальше делать? Использовать команды: http://php.net/manual/ru/book.curl.php
пыховская документация тут ни при чем, это другое вообще, не клиентское
Igor
так а нажатие на сам item как перехватываете?
Eugene
так а нажатие на сам item как перехватываете?
Я расширяю адаптер, добавляю ему кастомный click listener(itemId : Int)
Eugene
Вешаю этот лисенер на елемнты, и он вызывается при нажатии с указанием id
Denis
можно еще свайпом сделать
Igor
ок, спасибо
Igor
можно еще свайпом сделать
для свайпа ItemTouchHelper удобно юзать
Denis
а так, нужно реализовать OnClick в ViewHolder
Timur
Я расширяю адаптер, добавляю ему кастомный click listener(itemId : Int)
а лисенер на какой тип действия? свайп, селект, клик\лонглклик?
Denis
удаление лучше делать свайпом
Denis
либо через LongClick и показывать диалог с кнопочкой удалить
Denis
иногда и так и так делают
Igor
смотря, что нужно получить
а свайпом как делаете? чуть подробнее можно?
Timur
а свайпом как делаете? чуть подробнее можно?
https://medium.com/@zackcosborn/step-by-step-recyclerview-swipe-to-delete-and-undo-7bbae1fce27e
Alexander
Добрый день!
Alexander
Прошу помощи у знающих людей, сам чего я не "догоняю" Хочу сделать 2 activity. В главной activity есть кнопка button по нажатию на которую вызывается вторая активность....
Alexander
Вот мой код:
Timur
удаление лучше делать свайпом
а это где то прям сказано, что лучше свайпы? Я думал селект и действия с объектами в тулбаре показывать (но я смотрел по https://material.io/design/components/lists.html#theming).. Мне именно казалось, что свайпы на удаления ближе к iosе, а андройд это именно селект объектов или клики
Denis
ну вопрос был про OnCklick, OnLongCliсk и свайп
Denis
для меня удобнее сделать свайп + лонг клик
Denis
удаление лучше делать свайпом
Denis
либо через LongClick и показывать диалог с кнопочкой удалить
Denis
иногда и так и так делают
Timur
На все воля дизайнера
хм.. а разве нет смысла разрабатывать дизайн с учетом нативного поведения под платформу?
Timur
(если можно так написать 😅)
Denis
а кто сказал, что свайп в андроиде - это плохо?)
Denis
если есть инфа, то я с радостью почитаю
Timur
а кто сказал, что свайп в андроиде - это плохо?)
я не сказал что это плохо, просто спросил, что лучше и чем руководствуетесь, когда делаете выбор в пользу свайпа..
Timur
Ладно. Наверно вопрос странный) Предлагаю закрыть эту тему
Max
VpnService юзал кто-нибудь?
Max
Где прочитать можно о том как впн шлюз в Андроиде принимает пакеты с приложений, сдк я уже почитал, ничего подобного не наблюдаю. Волнует конкретно как впн сервис понимает, что какое-то приложение пытается подключиться
Konstantin
Подсобите с задачкой, может у кого есть идеи: Есть список, в нем PublishSubject который вызывает onNext на каждый клик по элементу. В обработке этих кликов происходят какие-то действия и по итогу открывается другой экран. Обработка не мгновенная, поэтому можно успеть нажать несколько раз, от чего экран может открыть несколько раз. Судя по логам происходит вот что: 1) Click 2) Observable.subscribe 3) New Screen Attach 4) Click Т.е. второй клик прилетает уже _после_ полной обработки первого. Мне надо либо получать их все вместе, либо игнорировать новые клики вовсе. Может есть идеи?)
Max
Вопрос нормальный, но вот ответ никто не знает(
Konstantin
debounce на клики? Отписываться от кликов перед открытием нового экрана?
Debounce, как и ThrottleFirst, не совсем правильные решения. Они ограждают временной промежуток, если время обработки вырастет еще, то и в вызовах надо будет изменять.
Konstantin
Отписка да, как вариант, но довольно запарно
Алексей
Debounce, как и ThrottleFirst, не совсем правильные решения. Они ограждают временной промежуток, если время обработки вырастет еще, то и в вызовах надо будет изменять.
Вообще это похоже на backpressure, и вы можете его настроить так, чтобы все новые события дропались, если старое ещё не обработано.
Алексей
но это сработает только если вы не выходите из onNext до того, как у вас произошла обработка клика. Возможно, сработает concatmap клика в его обработку, и после этого уже backpressure.
Konstantin
Вообще это похоже на backpressure, и вы можете его настроить так, чтобы все новые события дропались, если старое ещё не обработано.
Тоже так думал, но судя по логам нет, это именно клик срабатывает после обработки. Т.е. клик -> обработка -> открытие нового экрана -> второй клик.
Влад
Помомгите с FCM на одино из устройств не приходят пуш уведомления: в ответ на запрос с ервера на рассылку с теле запроса такое : {"multicast_id":9057853229769140609,"success":1,"failure":1,"canonical_ids":0,"results":[{"error":"NotRegistered"},{"message_id":"0:1552307282417246%d46ae42ef9fd7ecd"}]} получается тому кому не приходит уведомление тот {"error":"NotRegistered"} но как такое может быть оба в сети
Max
В Андроиде есть метод, чтобы определить с каких приложений я получаю пакеты?
Aleksandr
При переключении viewpager происходит Transform: у imageView меняется scaletype, если перелистывать медленно - всё работает, если быстро свайпнуть трансформ отрабатывает - но изображение не меняется. Кто нибудь сталкивался с таким поведением?
Корбен
Что больше баскет дуэт или баскет дуо?)
Влад
Issue: Violation of Usage of Android Advertising ID policy and section 4.8 of the Developer Distribution Agreement - как от этого избавиьтся? приложение блокируют постоянно, я уже и ссылку на веб страницу добавил для описание политики и в AndroidManifest.xml добавил <meta-data android:name="firebase_analytics_collection_deactivated" android:value="true" /> <meta-data android:name="google_analytics_adid_collection_enabled" android:value="false" />
Влад
не понимаю из-за чего это, приложение никаких данных не собирает, только подключен FCM для уведомлений и все...
Влад
Возможно, показываемая реклама не соответствует возрастному рейтингу приложения, у меня такое было, поменял рейтинг и прошла
не подключал рекламу. dependencies { implementation fileTree(dir: 'libs', include: ['*.jar']) androidTestImplementation('com.android.support.test.espresso:espresso-core:2.2.2', { exclude group: 'com.android.support', module: 'support-annotations' }) //noinspection GradleCompatible implementation 'com.android.support:appcompat-v7:28.0.0' implementation 'com.android.support.constraint:constraint-layout:1.1.3' implementation 'com.github.lzyzsd:circleprogress:1.1.0@aar' implementation 'com.squareup.retrofit2:retrofit:2.3.0' implementation 'com.google.code.gson:gson:2.8.1' implementation 'com.squareup.retrofit2:converter-gson:2.3.0' implementation 'io.socket:socket.io-client:0.6.2' implementation 'com.google.firebase:firebase-core:16.0.6' implementation 'com.google.firebase:firebase-messaging:17.3.4' testImplementation 'junit:junit:4.12' }
Влад
какая версия крашлитики?
я еще учусь так что не знаю что такое крашлитика...
Влад
такого рода проблемы могут быть из-за этой зависимости? implementation 'com.google.firebase:firebase-core:16.0.6' я вроде читал что она аналитику может собирать
Alexey
Коллеги, перевожу приложение: почему система может игнорировать _некоторые_ стринги прописанные в XML и подставляет дефолтные?
Alexey
Конкретно в некоторых layouts некоторые строки остаются дефолтными, что бы ни делал, как бы ни менял.
jV
есть логин фрагмент в navigation graph, как сделать, чтоб после авторизации при нажатии back не возвращаться к нему
jV
да
Alexey
В документации пишут, что "одноразовые" экраны не надо помечать как стартовые
Alexey
Вручную к ним переходишь