Дмитрий
У тебя отслеживание не работает или логика обрабатывающая полученные данные?
пока только разрабатываю отправку данных. Не получается реализовать правильное ограничение отправки запросов за единицу времени
Andrew
Вот из-за таких как вы Грета Тунберг стала человеком года по версии Time. Тимохин Д.М. #ВШЭ
Andrew
пока только разрабатываю отправку данных. Не получается реализовать правильное ограничение отправки запросов за единицу времени
Статус "пользователь печатает" должен сообщиться серверу только когда начался набор текста в поле. После каждого завершения запускается таймер, например хэндлером, который сбрасывается каждый раз, когда добавляется новый текст. Если новый текст не добавляется секунды 2-3 - отправляешь новый статус "пользователь завершил набор текста" Всё. Два запроса.
Andrew
Я так пробовал. Создается туча хендлеров при наборе текста и отслеживание начинает работать некорректно
Необходимо создать один хэндлер и один Runnable. Каждый раз для сброса вызывай у хэндлера метод handler.postDelayed(null); Каждый раз для запуска вызывай у хэндлера handler.postDelayed(yourRunnable, 2000); и тогда не прийдётся создавать тысячи одинаковых хэндлеров
Andrew
https://ru.stackoverflow.com/help/how-to-ask
R
Новичок в Rxjava. Где лучше читать ? По англ или на ру
Everyday
Добрый день . разьясните пожалуйста: я могу как то подписать liveData к запросу в бд?
--------
Добрый день . разьясните пожалуйста: я могу как то подписать liveData к запросу в бд?
можешь, но если это не Room, то особого смысла нет в liveData
Everyday
это Room
--------
а какая разница, рум, не рум?
ну Room будет автоматически изменения в бд возвращать, а SQLite нет
Mike
ну Room будет автоматически изменения в бд возвращать, а SQLite нет
так говоришь, будто мир делится на рум и голый сиквелайт
Everyday
т.е. LiveData не только интерфейс уведомляет, но и сама уведомляется, при изменении в бд , да?
Everyday
возвращает
Everyday
т.е. явно обновлять не требуется, ? супер! спасибО!
Leonid
всем привет, подскажите пожалуйста как избегать остановки приложения при выполнении этого кода case 200:{ int amount = example.size(); // =2 for (int i=0;i<=amount;i++){ for (int j =0; j<=amount;j++){ String Name = example.get(j).goodName; String Price = example.get(j).price; Log.d(TAG,Name); Log.d(TAG,Price); } }
Anonymous
i<=amount
Anonymous
size вернет 2, а элемента с индексом 2 нет, ибо отсчёт с 0
Ivansuper
Котлин по ходу. Там специально есть слово until
Ivansuper
А, не котлин
Anonymous
делать тогда надо -1 ?
Делать тогда надо i < amount
Anonymous
И j тоже
Mike
делать тогда надо -1 ?
надо загуглить «как пройти по списку» и посмотреть примеры
R
Тут вообще i использует он ?
--------
надо загуглить «как пройти по списку» и посмотреть примеры
вроде уже был вопрос, но не могу найти. Как ты работаешь с датами в андроид?
Сергей
Кстати, насчет дат - имейте в виду что есть старый и новый пакеты для работы с ними, они сильно отличаются, но новый лучше в части поясного времени и работы в многопоточности
OlegShenz
Всем привет. Что предпочтительней использовать thread.sleep() или Handler().postDelayed() не в основном треде . Опасно ли все таки использовать thread.sleep() в отдельном треде?
Hovhannes
все опасно))
--------
Calendar
я конкретно про формат даты. Столкнулся со странной хренью. Бэкендер попросил формат даты ISO, паттерн такой - "yyyy-MM-dd'T'HH:mm:ssXXX", на моём устройстве с 9 версией андроида работает прекрасно, на устройстве с 6 версией (минимальная для приложения 5) - падает Exception, якобы такой паттерн не поддерживается. Если менять на наиболее близкий паттерн (yyyy-MM-dd'T'HH:mm:ssZ), чтобы работало и на 9 и на 6 версии андроид, то в формирующемся времени не будет разделителя у часового пояса. В общем, компромисса пока не нашел.
Dart
Здравствуйте, ищу спеца, который поможет подпилить приложуху. а именно вывести картинки к вопросам из теста. Адреса к картинкам лежат в json
Ruslan
Что такое Android Developer Advocate?
--------
а что именно там не поддерживается?
ругается на X в паттерне
Mike
ругается на X в паттерне
глянул, в шестой джавке его и нет
--------
глянул, в шестой джавке его и нет
не особо понимаю, как это работает, у меня в gradle указано использовать 8 джаву, на устройстве с 9 андроидом работает, а на устройстве с 6 андроидом - нет
Ruslan
откуда это?
Вот например. Вортон тоже, вроде как. https://twitter.com/FMuntenescu
Alexey 🇪🇸
Посоны, слухайте. А когда мы пишем во фрагменте: image_close.setOnClickListener { .... // access fragments fields } то ведь надо в ondestroyview снимать листенер по идее? Иначе же листенер как иннер класс имеет неявную ссылку на фрагмент и будет утечка не?
Hovhannes
Сеть нуль
Alexey 🇪🇸
просто чет обычно нигде в примерах вроде так не делается, мож я чего не понимаю и нет утечки?
Andrew
просто чет обычно нигде в примерах вроде так не делается, мож я чего не понимаю и нет утечки?
нет, CG найдёт объект и грохнет его, так как он связан с умершей линкой на фрагмент.
Hovhannes
какого?
С первой работы
Alexey 🇪🇸
нет, CG найдёт объект и грохнет его, так как он связан с умершей линкой на фрагмент.
Погоди, фрагмент же дольше вьюхи живет. Если вью дестроится, а фрагмент еще живет, а у вьюхи есть клик листенер который ссылается на вью и не дает gc собрать вьюху, то утечк же получается. Не?
--------
if (Android 6) { добавитьРазделительВручную(); }
как поставить этот разделитель, если часовой пояс в паттерне это одна буква - Z
Mike
не особо понимаю, как это работает, у меня в gradle указано использовать 8 джаву, на устройстве с 9 андроидом работает, а на устройстве с 6 андроидом - нет
версия джавы в грэдле не влияет на фреймворк в телефоне. Но в шестом андроиде уже должна быть стдлиба седьмой джавы...
Andrew
Развлекайся )
Mike
https://dzone.com/articles/what-memory-leak-java
очень неконкретный ответ) Так-то Лёша всё правильно говорит
Alexey 🇪🇸
ссылка будет, только если ты потрогаешь проперти или методы фрагмента
ну да я про это и имел в виду. То есть в данном случае клик листенер течет, если я его не снимаю в ondestroyview ? homeviewmodel проперти фрагмента.
Andrew
очень неконкретный ответ) Так-то Лёша всё правильно говорит
Да? Ну ок, значит я зря никогда не убиваю листенеры ((
Alexey 🇪🇸
https://dzone.com/articles/what-memory-leak-java
ну блин, не надо мне кидать описание мемори лика, я знаю что это.
Alexey 🇪🇸
просто с ужасом осознал что у меня во всем проекте листенеры не снимаются и видимо течет адски
Александр
Кто - то снимает листенеры?
Mike
ну да я про это и имел в виду. То есть в данном случае клик листенер течет, если я его не снимаю в ondestroyview ? homeviewmodel проперти фрагмента.
погоди, так фрагмент же живёт дольше. Вот если бы фрагмент удерживал лисенеры, было бы плохо. Но всё наоборот
Alexey 🇪🇸
Кто - то снимает листенеры?
ну получается во фрагментах надо снимать да. В активи не нужно, потому что обычно активити не живет дольше вьюхи.
Andrew
ну блин, не надо мне кидать описание мемори лика, я знаю что это.
В этой статье есть одно важное замечание - утечка памяти в Java - это ситуация, когда некоторые объекты больше не используются приложением, но GC не может распознать их как неиспользуемые
Andrew
Так вот, в ситуации с листенарами всё отлично распознаётся.
Andrew
когда фрагмент того
Max
В Parcel можно записать объект Object?
Andrew
Max
Ой, Parcel