Size: a a a

Android Developers

2021 August 11

K

Katya in Android Developers
да знаю что это происходит из за этого
источник

NS

Nikolay Stepanchenko in Android Developers
Всем привет.
Проблема возникла с DownloadManager'ом на 5.0 андроиде.
Почему-то, он не хочет скачивать некоторые файлы по ссылке, которые на 5.1+ скачиваются без проблем.
В интернете пустота по этому поводу, может подскажет кто нибудь?
источник

K

Katya in Android Developers
я спрашиваю как реализовать правильно
источник

СП

Сергей П. in Android Developers
В реляционке у юзера был бы уникальный и неизменный ид, скажем хэш от почты. экранное имя и фото меняемое хранились бы в отд.таблице по ним, и оттуда же забирались бы. Так и тут
источник

В

Виктор in Android Developers
Provide manifest file content on pastebin
источник

В

Виктор in Android Developers
Так что именно не успевает выполниться? Данные сохраняются/получаются?
источник

IN

Ivan Nekhaev in Android Developers
если нужно дождаться результата в корутине, то можно воспользоваться async{}.await
источник

DA

Dmitry Aleksandrovic... in Android Developers
Данные сохраняются, да. Но сохраняются поздно, код который идёт дальше, успевает взять старые данные из БД, а не сохраненные
источник

A

Andrey in Android Developers
Используйте flow для получения данных из бд
источник

A

Andrey in Android Developers
А если нужно прям синхронное выполнение, поместите обработку в одну корутину
источник

A

Andrey in Android Developers
Это ничего не даст в данном случае
источник

В

Виктор in Android Developers
Потому что создаётся новая корутина, которая работает асинхронно
источник

z

zlo in Android Developers
livedata на табличку
источник

V

V.Ilin in Android Developers
посоветуйте библиотеки для прокручивания 360 можно без акселерометра
источник

DA

Dmitry Aleksandrovic... in Android Developers
Спасибо за ответ.

Смотри, у меня функция showResult() из фрагмента запускает сохранение и потом в переменную trainingProgram должен прийти результат кое-каких вычислений. Функция getTrainingProperties() получает данные из БД, производит расчеты и возвращает результат. То есть, желательно мне просто дождаться выполнения saveResult() и потом продолжить код.

Связать эти функции я не могу, они независимы друг от друга
источник

DA

Dmitry Aleksandrovic... in Android Developers
Спасибо за ответ, но не совсем то, что нужно или просто у меня не получилось
источник

DA

Dmitry Aleksandrovic... in Android Developers
В теории, можно, но кейс для лайвдаты наверное не подходит. Мне просто один раз получить надо результат и всё. Он не будет меняться в режиме реального времени. Подписываться тоже не обязательно.

Запросил - получил, примерно так
источник

A

Andrey in Android Developers
могу предложить пару вариантов:
1. сделать saveResult() suspend и убрать оттуда запуск корутины, в фрагменте тогда будет
viewLifecycleOwner.lifecycleScope.launch {
   withContext(Dispatchers.IO) { saveResult() }
   val trainingProgram = viewModel.getProperties()
}
2. Передавать в getTrainingProperties resultPollDto:
onClickListener (или что у тебя там):
{
   viewModel.saveResult(myDto)
   val trainingProgram = viewModel.getProperties(myDto)
}
источник

А

Андрей in Android Developers
Сделай ему явную высоту и анимируй translation
источник

IS

Ivan Sablin in Android Developers
так и пришлось сделать явную, только это недобно, если вдруг изменится размер итемов, то надо будет опять смотреть какая у них высота чтоб явно задать
источник