Norim
а он по умолчанию что-то там делает?
Norim
Флоу
Norim
🤔 еще не до конца с флоу разобрался
Gleb
Всем привет ребят, кто может подсказать: В бд (firebase) есть данные о местоположении человека, как на карте (google maps) отобразить все маркеры (местоположение всех людей)?
Aleksandr
Лайвдата по идее пустой список кинула бы
Gleb
В цикле добавить маркеры?)
Да, пробовал, а как? По сути сделать так: Получаем данные из FB -> делаем из этого array list -> делаем цикл for (i=0; i<array.size.... Но ошибки выдает ...
Norim
а чего бы и нет, для меня любая функция в фоне - корутина
Oleg
Да, пробовал, а как? По сути сделать так: Получаем данные из FB -> делаем из этого array list -> делаем цикл for (i=0; i<array.size.... Но ошибки выдает ...
ну либо приходи с реализацией и ошибками, либо все должны пытаться гадать на картах таро что у тебя не так?
Gleb
Да, пробовал, а как? По сути сделать так: Получаем данные из FB -> делаем из этого array list -> делаем цикл for (i=0; i<array.size....* Эта*
Norim
Разве? Она же дочерняя, значит влияет
Oleg
Логика верна?
Логика чего? Ну тебе надо отобразит N количество маркеров, в чем вопрос? Можешь через iterator сделать или через while или через for, хоть хардкодом каждый элемент вытаскивать - разницы никакой
Norim
Ну что-то выполняется в контексте корутины, так и связано. Флоу это или что-то другое - оно уже в IO потоке же
Norim
Так ты думаешь для флоу отдельная корутина не нужна вообще?
Norim
Просто флоу он делать и все?
Aleksandr
к чему это ты?
Ну в руме в дао прям флоу указать если, я всю историю не читал, но сложилось впечатление, что проблема в том, что рум не выбрасывает новый список при изменении в базе
Aleksandr
Сам по себе должен
Norim
Кстати, а можно же работать через флоу с сетью? В чем отличие будет в плане флоу же это потом, а ответ от сети будет же один раз?
Aleksandr
fun getAllDogs(): Flow<List<Dog>> типа такого
Norim
Например сделаю я гет через ретфрофит и что если это будет флоу?
Norim
Скорее всего будет поток с одним событием
Типо бесполезно для него флоу использовать или есть какие-то случаи?
Aleksandr
Типо бесполезно для него флоу использовать или есть какие-то случаи?
Лонг полинг какойнибудь или сокет вполне себе выглядят как кейсы для флоу
Norim
В ней у меня был наблюдатель за количеством записей в бд и сам флоу с датой с бд, теперь они каждый раз пересоздаются и не хранят старое значение
Александр
Но для начала диффутил, пейлоад след шаг, но может и не понадобится, сам решишь
Сделал DiffUtil теперь обновляется один элемент, но он мерцает. Быстро тухнет и появляется.
Dug
Ну я и кривой
Norim
Теперь кстати новая проблема, но она неважная. Эти флоу остаются жить и копируются при перезаходе в фрагмент. Старые не убиваются - новые создаются. Видимо это из-за корутины
Norim
Но тогда получается если корутину я уберу наблюдатель не будет смотреть за количеством записей в бд через флоу так как он один раз отработает и флоу умрет, верно? 🤔
Cartoon
Сделал DiffUtil теперь обновляется один элемент, но он мерцает. Быстро тухнет и появляется.
Есть статейка на skillbranch как раз по анимации. Там вроде чтобы убрать мерцание надо отключить item animator
Cartoon
Спасибо, попробую
https://teletype.in/@skillbranch/Hk4oUfpUH
Norim
Парни, а флоу имеет постоянную связь же, верно? Я могу поместить флоу в переменную во вью моделе, а потом коллектить с ней когда мне захочется и таким образом снова наблюдать не создавая новый флоу по возвращению на фрагмент?
Norim
Или лучше отменять старую джобу вместе с флоу в ней?
Norim
Я на него вернусь и он снова создаст новую лайфдату которая запустит отдельную корутину с наблюлателем за бд
Aleksandr
Фрагмент в паузе
А есть чтото в качестве презентационного паттерна? Вью модель например
Aleksandr
Тогда и при паузе фрагмента не должно ничего отписываться
Norim
Кто отписываться
Norim
Я же сказал что вызовет функцию которая вернет новую лайф дату, которая в свою очередь запускает новую кортину с наблюдателем в виде флоу на количество записей в бд
Norim
В контексте того что я говорю фраза про отписываться не имеет смысла ля
Norim
Остановился на варианте перезаписи джобов вместо перезаписи флоу
Александр
https://teletype.in/@skillbranch/Hk4oUfpUH
Спасибо, помогло
𝔇𝔢𝔫𝔦𝔰
Господа! Возвращаясь к вопросу как получить номер телефона. Согласно мануалам - то никак. Но! Как ксиоми получает его? Вставляю вторую карту, захожу на миклоуд, и там вижу номер этой второй карты. Как? Есть мысли?
Line'R
Пабг на смарт часах...
Line'R
сладкий мальчик
Виктор
Друзья, а если заливать проект из андроид студио в гит, ничего не настраивая (как это сделал я), то там может быть потенциально какая нибудь секретная информация, которую лучше не показывать?
Dmytro
Друзья, а если заливать проект из андроид студио в гит, ничего не настраивая (как это сделал я), то там может быть потенциально какая нибудь секретная информация, которую лучше не показывать?
Главное ключ релизной подписи не заливай, если ты его создавал. И что для тебя секретная информация? Как она может тебе навредить?
Виктор
Главное ключ релизной подписи не заливай, если ты его создавал. И что для тебя секретная информация? Как она может тебе навредить?
Что такое "ключ релизной подписи не знаю". Попробую поискать, если он есть В том то и дело, я еще не во всех отслеживаемых файлах разобрался и не знаю какая информация должна не отслеживаться гитом для безопасности
Dmytro
Что такое "ключ релизной подписи не знаю". Попробую поискать, если он есть В том то и дело, я еще не во всех отслеживаемых файлах разобрался и не знаю какая информация должна не отслеживаться гитом для безопасности
Файл .jks подписываешь АПК, когда в маркет выкладывать,его не стоит включать потому что могут в маркет выложить другое приложение вместо твоего) а если у тебя просто пет проект, то не переживай. А вообще загугли .gitignore for android project
Roman
Что такое "ключ релизной подписи не знаю". Попробую поискать, если он есть В том то и дело, я еще не во всех отслеживаемых файлах разобрался и не знаю какая информация должна не отслеживаться гитом для безопасности
Можно ещё случайно слить ключи к API, если ты их хардкодишь в проекте, например. Ну тогда тебя в считанные минуты банит на гитхабе и ты получаешь уведомление про такой вот косяк, мол, убери скорее
Roman
А как тогда хранить ключи для апи?
Можно глобальные свойства градл на уровне ос создавать, туда прописывать значения, а уже в проекте чисто с именем ключа работать, у меня где-то был сохранен этот пост, ща поищу
Roman
О как, буду очень благодарен
Ссылки на прямо тот вариант я найти уже не могу, но есть более удобная альтернатива. Суть в том, чтобы создать файл в проекте, держать там апи ключи, а в градле тянуть оттуда ключи в переменные. Сам файл с ключами нужно добавить в гитигнор
Egor
Главное ключ релизной подписи не заливай, если ты его создавал. И что для тебя секретная информация? Как она может тебе навредить?
Кстати, встречный вопрос) Как мне на гит залить ключ? Или как вообще передавать ключ заказчику? Скидывать архивом папку keypath?
Egor
Положить его в папку с проектом? )
Ну через дефолтные тулзы студии (commit) не выходит, подбирает только файлы проекта.
Dmytro
Ну через дефолтные тулзы студии (commit) не выходит, подбирает только файлы проекта.
Та ну, не может быть 1. Проверь секцию unversioned file 2. Проверь файл .gitignore
Egor
Та ну, не может быть 1. Проверь секцию unversioned file 2. Проверь файл .gitignore
А, точняк. Скорее всего в игноре лежат, пасиба)
Liman
А если у меня апкашка есть, мне надо ее декомпилить чтобы дебажить так чтобы видеть и переменные все и тд?
Евгений
Вопрос такой. Мне нужно во фрагменте создать что-то вроде fullscreen диалога, чтобы фрагмент мог с ним взаимодействовать, передавать ему лямбды и тд. Но сам fullscreen диалог не подходит, т.к. он неизбежно ломает status bar и он становится черным. Есть ли какая то альтернатива? или придется изначально в корневом layout фрагмента делать эту вьюшку с visibility=gone? либо предусматривать изначально контейнер для нее и добавлять программно?
Данил
чем заменить updateConfiguration, на SO все ответы сводятся к замене базового контекста, вылетает ошибка, мол, его нельзя менять во время работы приложения, уже пол дня мучаюсь
Віталій
подскажите, что мы должны получить методом adapter.getData()?