SolanD
Что-то не пойму с прогресс баром и LiveData. Создал во ViewModel переменную типа MutableLiveData куда записываю true или false. На эту переменную подписываюсь во вьюшке. Но вопрос. В каком месте я должен туда тру и фолс писать? Например. У меня данные приложение тоже получает по LiveData из ViewModal. если я в момент этот подписки помещаю true в прогресс бар во ViewModel то отключать прогресс бар я могу только уже во View-ке в момент когда данные пришли. Ведь ViewModel не знает когда они пришли. Знает только View так как она подписана на эту LiveData
Vadim
Как понять в чем проблема?
SolanD
@Alexey Но у меня сделано так. View подписана на ViewModel которая возвращает LiveData, ViewModel также получает LiveData от репозитория а он в свою очередь от Room. Т.е. по сути я прям от Room получаю LiveData без изменений
SolanD
Или я должен перекладывать вручную полученные данные от репозитория в новую LiveData во ViewModel?
Turalllb
Добрый день, кто знает почему при обращении из доп. потока к progressBar , на эмуляторе не вылетает с исключением, что я трогаю UI поток из другого, а на телефоне исключение есть?
Алексей
Ребят, имеет ли смысл из приложения убрать подписку на некоторые intent (sim_state_change и в таком духе, учитывая, что симки в устройстве быть не может), что бы немного улучшить производительность?
Anonymous
Где эти данные локально хранятся, кто может подсказать ?
Anonymous
SolanD
все управление во вью модели. Т.е. fun loadData(){ progressLiveData.value = true fetchData() progressLiveData.value = false }
т.е. я должен во ViewModel отдельно подписываться на данные от репозитория которые тоже LiveData и потом во ViewModel перекладывать их в ту модель на которую подписана View?
SolanD
ведь View же подписана на данные..которые возвращает ViewModel а ViewModel же просто пробрасывает запрос в Room
SolanD
т.е. по сути ViewModel не подписана на данные она просто делает запрос в репозиторий
Adel
Всем привет Вопрос следующий : Имеется 1000 локаций, которые мне присылает сервер Нужно расставить маркеры на карте Как это сделать грамотно, и стоит ли использовать Google Maps, или лучше найти аналог?
Adel
500 маркеров поставь, там ФПС сразу упадет
Adel
Суть вопроса в том, что есть ли аналог картам, и может кто-то работал с ним, где есть высокая производительность без использования кластеризации
Ruslan
Добрый день. Кто-нибудь проходил недавно сертификацию? Я так понял там сейчас не живое интервью, а что-то типа запись ответов на вопросы через вебкамеру. Интересует какого плана там вопросы и сложно ли?
SolanD
а, понял
помоему разобрался.. Есть же такая вещь как Transformation которая может следить за изменениями в LiveData вот с ее помощью можно во ViewModel следить за даннами и пенять статус прогресс бара
Denis
Ещё можно к зуму прицепиться
Denis
Любой карте будет сложно рисовать так много маркеров
Kirill
Всем привет, вопрос немного туповат. Посоветуйте, вот есть проект который работает с сервером. Работает с библиотекой retrofit2 и при каждом запросе писать .enqueue( new Callback... Как-то нагроможденно.. можно от этого избавиться? Можно было бы просто посмотреть на какой-то большой проект, но я что-то не могу найти..
Kirill
Спасибо!)
SolanD
Неуверен конечно, что правильно делаю, когда во ViewModel перехватываю LiveData от репозитория с помощью Transformation и изменяю статус прогресс бара. Но работает.
SolanD
Т.е. по сути никакиз трансформаций с данными не делаю, просто пользуюсь тем что ViewModel с помощью transformation ловит момент изменения данных в LiveData
SolanD
но есть какое-то внутреннее ощущение что это неправильное использование
Vadim
Есть странное поведение: Когда в в студии выбираю buildVariants: stagingRelease проект билдится и запускается прекрасно, но когда пробую сбилдить через консоль: ./gradlew assembleStagingRelease то проект фэйлится… Как понять в чем проблема?
iamthevoid
но есть какое-то внутреннее ощущение что это неправильное использование
почему бы просто не использовать rxjava? Для рума есть официальная либа, которая конвертит всё во flowable, single, если надо. А там просто на onSubscribe тем или иным образом запускаем прогресс, на onResult скрываем
iamthevoid
Для датабайндинга есть ObservableFields, которые можно подсунуть в xml и сетить в них true-false на сабскрайб-резалт
Denis
А в чем разница тогда будет?
iamthevoid
Rx java неплохая унивесальная обёртка для всего. Можно сделать rx-ретрофит, rx-рум, rx-миллион-утилит, и на всём этом прекрасно строить инфраструктуру
iamthevoid
И будет всё довольно прозрачно
Denis
И будет всё довольно прозрачно
прозрачный RX - смешно)
iamthevoid
Кто то не умеет готовить?)
Сергій
🌝
Denis
Кто то не умеет готовить?)
вечный спор. В конкретном случае в деталях не будет особой разницы между RX и LiveData
Denis
Для серьезных переговоров про RX
Eugene
Ребят, что считается хороше практикой чека интернет подключения? Не наличия соединения с wifi или мобильной сетью, а именно выхода в интернет. Какой-нибудь GET на google.com и чекать код ответа?
iamthevoid
"кто то не умет готовить?)"
при чём тут готовка? LiveData лежит в androdx.lifecycle
Denis
а рх теперь моветон?
Сергій
всегда был 😏
Denis
вы в проектах его вообще не юзаете?
Denis
а например всякие штуки типо тротла кнопки и прочего
Denis
каким образом делаете?
Denis
Ща буит мясо
Denis
или не делаете? 🤨
Сергій
старый добрый хендлер
Daniel
каким образом делаете?
Вот тоже интересно)
Denis
старый добрый хендлер
ага, те рх моветон, а хандлер норм тема?))
Сергій
для тротла 12К методов как-то жирно )
Daniel
Все новое это хорошо забытое старое?
Denis
при чём тут готовка? LiveData лежит в androdx.lifecycle
А либа ссылающаяся на RX будет чем то отличаться в этом случае?
SolanD
Ну зачем использовать RX только ради того чтобы на данные подписываться. Это как использовать IPhone чтобы просто позвонить )) дорого, но функционально. Но нужно то было всего лишь позвонить
Сергій
RxToast была полезная либка 😶
iamthevoid
А либа ссылающаяся на RX будет чем то отличаться в этом случае?
Конечно будет, я её смогу использовать в любом проекте, например написать с её использованием бэк
Artem
Всем привет! Есть ли какой-то способ использовать векторы на апи < 21 для background и drawableLeft или можно только для ImageView srcCompact устанавливать?
Artem
Сергій
для background все же нужны png?
можно в коде сетить
Сергій
AppCompatResources.getDrawable может читать векторы
SolanD
90% его используют как DTO, зато молодежно
вот ваше мнение, правильно ли то что я перехватываю в ViewModel получение данных с помощью Transformation только ради того чтобы поменять статус в прогресс баре. Ведь ViewModel по другому не может знать когда LiveData пришла от Room или в моем случае от репозитория
Konstantin
кстати о дровах, почему на версиях ниже апи 21 setbounds не задает новые размеры дровам? сколько ни пытался они всеравно intrinsicWidth/height
Denis
Ну это все вкусовщина, в целом нормальное решение.
Daniel
Кто знает как показать shadow для AppBarLayout на sdk < 21?
Daniel
Именно для аппбара, про решения с дополнительной вьюшкой знаю
Daniel
Вот и я не знаю =(