Mike
А Service и IntentService имеют доступ к текущему Activity?
нет никакого «текущего активити», но есть bindService
Ivansuper
нет никакого «текущего активити», но есть bindService
Текущее активити существует. Это активити сохраненное в статик переменные. Pun intended.
Александр
Ребят, есть хорошие статьи по бэкстэку в Navigation Components?
MarSeliN
Есть
Александр
Можете подкинуть?
MarSeliN
Ну например эта https://medium.com/nuances-of-programming/%D0%B2%D0%B2%D0%B5%D0%B4%D0%B5%D0%BD%D0%B8%D0%B5-%D0%B2-navigation-architecture-component-3ae47a267edc
Александр
Благодарю
Anonymous
Я читаю про runOnUiThread и как понял этот метод, позволяет запускать тяжелый код (работу с сетью) в UI потоке. Но в UI потоке нельзя тяжелую задачу запускать, телефон начнет зависать
Mike
Процессы и потоки Наконец порезал видео с весенней Android Academy. Основы многопоточки в Java и Android. youtu.be/TWlhCraPd3Q
Anonymous
Он позволяет запускать любой код в UI-потоке.
А почему я не могу получить доступ к View из Thread, а через runOnUiThread могу
Anonymous
потому что UI однопоточный
Смотрю видео это и хотел уточнить, когда мы в Активити создаем Thread, то Thread работает в UI потоке, но он создает свой отдельный поток ( без UI ), код который можно написать в его методе run()?
Mike
есть UI Thread, есть другой Thread, каждый работает в себе
Anonymous
ясно), теперь понял
Artem
Вечер добрый, как лучше реализовать предзагрузку данных в рум, при условии что нужно взять из ассетс все названия?
Artem
При первичном создании, загрузить все названия из асетс, и записать
Mike
При первичном создании, загрузить все названия из асетс, и записать
положить в ассеты готовую базу и просто скопировать её на старте
Anonymous
Вечер добрый, как лучше реализовать предзагрузку данных в рум, при условии что нужно взять из ассетс все названия?
Лучший способ, создать экран Loading при старте, и показать юзеру шкалу загрузки в RealTime. Там же сделать загрузку
Artem
Тоже про это подумал, спасибо
Artem
Про создание бд и потом скопировать все
Artem
Лоадинг тоже может быть )
Anonymous
Не ну если 1 сек, то да, можно без экрана
Mike
А если там загрузка минимум 5 сек?
Столько информации на экран не влезет. Сначала заполняем экран, потом в фоне подтягиваем остальное.
Anonymous
))
Anonymous
Вечера, посоветуйте либу для крооссплатформенной графики. Что бы без лишнего.
Anonymous
<ImageView android:layout_width="100dp" android:scaleType="fitEnd" android:layout_alignParentBottom="true" android:layout_alignParentEnd="true" android:layout_marginBottom="56dp" android:id="@+id/btn_polzunok" android:layout_height="100dp"/>
Artem
Width = 100dp
Artem
Он и 100 дп
Anonymous
Width = 100dp
Так на других экранах норм
Leonid
подскажите пожалуйста, у меня есть активити в нем выполняю запрос получаю данные и записываю в рум, так же в этом активити есть вьюпэйджер в котором 3 фрагмента, при запуске приложения открывается сразу 1 фрагмент пытаюсь лайфдатой вытащить данные и мне пишет данных нет как можно решить эту проблему или как загуглить
Anonymous
Так на других экранах норм
Привяжи правый бок и низ. У тебя он в Framelayout видимо плавает
Mike
.
libgdx?
Anonymous
libgdx?
Мне чисто графику, это решение; но много лишнего
Олександр
Мне чисто графику, это решение; но много лишнего
немного непонятно, что тебе лишнее, а что имеется ввиду под "чисто графика"
Future Franklin
вопрос @Update void updateClient(Client client); это ClientDao, если мне нужно сделать апдейт конкретного юзера мне нужно добавить @Query ?
Future Franklin
или просто этот метод так и оставить? типа такое что-то нужно ? "UPDATE media SET name = :name, description = :description," + " uri = :uri, text = :text, media_type = :mediaType" + " WHERE id = :id" или это Dao @Query("UPDATE cards SET cardSortorder = :sortOrder WHERE cardId = :sortId") void updateSortorder(int sortOrder, int sortId);
Maksym
Всем привет. Кто сталкивался что при возвращении назад во фрагменте снова прилетает значение в livedata. Использую подобную конструкцию https://prnt.sc/sgaozk
Future Franklin
пс ребят(
Maksym
В этом же и суть livedata , значит у твоего фрагмента не был вызван onDestroy
так он и не должен быть вызван если фрагмент ушел в стек. Вот пример: в 1 фрагменте получаю данные через livedata перехожу во 2 фрагмент. Там нажимаю кнопку back попадаю в 1 фрагмент в котором в livedata прилетает событие повторно и меня снова кидает на 2 фрагмент. как с этим бороться. Переходы делал через Navigation component
Chubaka
Или null, в зависимости что там у тебя
Maksym
Когда уходишь с фрагмента сетай initial value -1 например и поверяй
Понятно так можно но это костыль. А хотелось бы как то поменьше костылей. Вот находил эту проблему https://github.com/android/architecture-components-samples/issues/47 Но подходы не помогли решить проблему
Chubaka
Т е ты все правильно делаешь - это просто косяк viewmodel
Chubaka
Ну или наоборот фича - смотря какую проблему решать
Chubaka
Нууу пользуюсь )
Future Franklin
Нууу пользуюсь )
Мой вопрос хз?
Future Franklin
Гуглю , гуглю понять никак не могу(
Nikita
Доброй ночи Такая ситуация: всё делаю по MVVM. Из репозитория у меня торчит несколько LiveData списков, которые получает viewModel, и отдаёт во View, которая на них подписывается, и дальше передаёт адаптеру RecyclerView. Так получается, что мне было-бы удобнее обработать списки, сделать из них один, и в адаптер уже передавать этот трансформированый список Как по мне, лучше всего это делать во ViewModel. Но тогда прийдётся вешать в нём лисенер изменений списков в репозитории, и в нём делать и возвращать во View трансформированый список Скажите, нормально ли во ViewModel вешать лисенеры на LiveData? Или это делается исключительно во View?
Chubaka
Гуглю , гуглю понять никак не могу(
Я использую первый вариант Но в любом случае ты же можешь протестить что у тебя получается первым и вторым способом
𝙈𝙖𝙠𝙨𝙤𝙣𝙞𝙘 🇷🇺
Как решить такую штуку? первый скрин экран 768x1280, как видно часть экрана обрезается, будто не хватает места, обворачивать весь лейаут в скроллвью не вариант) а на экране 1440х2960 наоборот много пустого места снизу экрана( Что нужно сделать, что бы всё было одинаково на разных разрешениях экрана?
𝙈𝙖𝙠𝙨𝙤𝙣𝙞𝙘 🇷🇺
Chubaka
И ты первым вариантом можешь апдейтнуть конкретного юзера?
ну да - у тебя же в модели указано поле @id, рум разрулит для юзера с таким же id
Anonymous
Нужно ли занулять asyncTask? если мы вызыавли cancel?
Chubaka
а разве он не deprecated ?
𝙈𝙖𝙠𝙨𝙤𝙣𝙞𝙘 🇷🇺
а можно посмотреть верстку ?
https://pastebin.com/77f5gv1a я только учусь, не поливайте какахами если всё плохо
Андрей
используя ее LifeCycle
Андрей
Transformations.switchMap
Nikita
используя ее LifeCycle
То есть в onCreate() это делать?
Андрей
нет