Size: a a a

Android Developers

2021 February 11

s

someone_guy in Android Developers
Scrooge McDuck
Может я что то не так сделал, но сейчас та же самая ошибка
я точно не помню, не скажу. Смысл в том что тебе нужно лист сохранять как отдельную таблицу, как отношение one-to-many. У рума есть для этого сахар, вот вроде как раз embedded. Почитай как это работает на голом sql для понимания, а потом поищи какой сахар для этого использует рум. Тм еще есть аннотация relation чтобы это все подтягивать запросами потом без проблем, потому что  на голом sql это делается с вложенным запросом, либо в 2 запроса
источник

SM

Scrooge McDuck in Android Developers
someone_guy
я точно не помню, не скажу. Смысл в том что тебе нужно лист сохранять как отдельную таблицу, как отношение one-to-many. У рума есть для этого сахар, вот вроде как раз embedded. Почитай как это работает на голом sql для понимания, а потом поищи какой сахар для этого использует рум. Тм еще есть аннотация relation чтобы это все подтягивать запросами потом без проблем, потому что  на голом sql это делается с вложенным запросом, либо в 2 запроса
А если сделать как Матвей, через TypeConverter? Думаю так будет легче для простого list с sting 🧐
источник

s

someone_guy in Android Developers
Scrooge McDuck
А если сделать как Матвей, через TypeConverter? Думаю так будет легче для простого list с sting 🧐
можешь и так сделать, но на практике работа с many-to-one, many-to-many очень часто встречается, почти всегда на самом деле. Так что эту штуку знать мастхэв.
источник

s

someone_guy in Android Developers
если сейчас изучишь, лишним точно не будет
источник

SM

Scrooge McDuck in Android Developers
someone_guy
можешь и так сделать, но на практике работа с many-to-one, many-to-many очень часто встречается, почти всегда на самом деле. Так что эту штуку знать мастхэв.
Хорошо, изучу, может для более сложных моделей понадобится 👌
источник

s

someone_guy in Android Developers
не всегда же стринги будут попадаться)
источник

SM

Scrooge McDuck in Android Developers
someone_guy
не всегда же стринги будут попадаться)
Надеюсь к этому времени Room улучшат и он сам автоматически будет все делать 😅
источник

s

someone_guy in Android Developers
Scrooge McDuck
Надеюсь к этому времени Room улучшат и он сам автоматически будет все делать 😅
да там не сложно, почитай в отрыве от андроида, как это на голом sql делается. А то ты смотришь на все эти @Insert @Delete  и прочий сахар и оно тебя сбивает с толку, надо знать что оно под капотом делает. Я вот раньше сайтами баловался, там все на голом sql, так я поначалу в андроиде даже румом не пользовался)))
источник

SM

Scrooge McDuck in Android Developers
someone_guy
да там не сложно, почитай в отрыве от андроида, как это на голом sql делается. А то ты смотришь на все эти @Insert @Delete  и прочий сахар и оно тебя сбивает с толку, надо знать что оно под капотом делает. Я вот раньше сайтами баловался, там все на голом sql, так я поначалу в андроиде даже румом не пользовался)))
Понял, принял, не буду боятся)
источник

АМ

Артём Мельник... in Android Developers
может знает кто, как сделать следующее с помощью ретрофита:
Есть запрос на сервер и в случае ошибки (ошибка доступа) он возвращает ошибку в формате json (там свои поля с кодом ошибки, её значением и тд), а если же всё ок, то он вернёт класс пользователя также в json'e. Но мы ведь по сути в интерфейсе для ретрофита объявляем 1 класс (например, юзер), как в таком случае быть, чтобы в случае ошибки он парсил один класс, в случае удачи парсил класс юзера?
источник

АМ

Артём Мельник... in Android Developers
или же надо просто сделать базовый класс ответа и уже там какие-то поля null делать и конвертить в ошибку или юзера
источник

АМ

Артём Мельник... in Android Developers
просто может есть какие-то хорошие практики для этого
источник

ВК

Вячеслав Кузнецов... in Android Developers
Артём Мельник
или же надо просто сделать базовый класс ответа и уже там какие-то поля null делать и конвертить в ошибку или юзера
А у ретрофита не сделан уже в коробке класс response?
источник

АМ

Артём Мельник... in Android Developers
нет
источник

ВВ

Владислав Вержбицкий... in Android Developers
Артём Мельник
может знает кто, как сделать следующее с помощью ретрофита:
Есть запрос на сервер и в случае ошибки (ошибка доступа) он возвращает ошибку в формате json (там свои поля с кодом ошибки, её значением и тд), а если же всё ок, то он вернёт класс пользователя также в json'e. Но мы ведь по сути в интерфейсе для ретрофита объявляем 1 класс (например, юзер), как в таком случае быть, чтобы в случае ошибки он парсил один класс, в случае удачи парсил класс юзера?
Что-то типа такого должно помочь: https://github.com/haroldadmin/NetworkResponseAdapter
источник

АМ

Артём Мельник... in Android Developers
спасибо
источник

L

Leonid in Android Developers
Alyona Novosvit
я как раз и спрашиваю как экономить оперативную память в таком случае. Может быть, кто-нибудь работал с картинками в высоком разрешении и знает, как без сильной потери качества можно грузить картинки в ресайклер
Какой критерий потери качества?

Есть ли смысл пытаться показывать картинку, например 10000х10000 пикселей, если даже таких экранов в природе не существует?

Покопайтесь в glide, там могут быть параметры для уменьшения качества и/или размеров картинки при загрузке.
источник

DA

Dmitry Aleksandrovic... in Android Developers
Привет, как можно поднимать контент над клавиатурой?

У меня в середине экрана есть editText и ниже кнопка, это всё в отдельном контейнере Constraint Layout.

А в самом низу, есть ещё одна кнопка, она находится в корневом Constraint Layout.

Так вот, при открытии клавиатуры, контейнер в середине закрывается ею на половину, а мне нужно, чтобы этот контейнер поднимался над клавиатурой, а та кнопка в самом низу экрана (в корневом layout), оставалась на своём месте и пусть закрывается.

Я обернул нужный контейнер в ScrollView, но поднимается над клавиатурой весь экран, вместе с нижней кнопкой.
источник

С

Саня in Android Developers
Alyona Novosvit
я как раз и спрашиваю как экономить оперативную память в таком случае. Может быть, кто-нибудь работал с картинками в высоком разрешении и знает, как без сильной потери качества можно грузить картинки в ресайклер
там еще Picasso есть, альтернатива глайду, мб там что найдешь
источник

A

Ak in Android Developers
Alyona Novosvit
Всем привет. Столкнулась со следующей проблемой.
Необходимо сделать ресайклер c картинками в высоком разрешении. Картинки лежат на девайсе в jpg. При загрузке в адаптере ресайклера ловлю OOM.
Картинки грузила как битмапы. Понимаю, что в памяти под битмапу выделяется (width * height * pixel format) байт. В моем случае битмапа получается слишком большая (jpg файл 2Мб = битмапа 70Мб)

Если ли другие способы, чтобы отобразить картинку без потери качества и с меньшим выделением памяти?
Пикассо через таргет попробуйте
источник