Gregory
Тоесть самому писать сериализатор?
в смысле? использовать обычный JSONObject
Sergey F
Есть лист из 20 элементов, получаемых с сети. В каждом элементе отображенном на UI у меня есть чекбокс, который добавляет в избранное. Соотвественно, если он нажат - то добавлено, при повторном нажатии удаляем. Как мне сохранить состояние флажка, если, например, при обновлении мы получаем обновленный список элементов, и флажок теряется. В голову приходит что при получении этих элементов прогонять каждый и если equals то поставить флажок.
Sergey F
хранить список id выбранных
а при обновлении брать этот лист и сверять?
Gregory
а при обновлении брать этот лист и сверять?
при бинде в адаптере проставлять состояние чекбокса в соответствии с ним
Dyno
Такой вопрос: а что если у меня 2 списка с разными типами данных и 2 фрагмента, у каждого свой ресайклер, и мне надо засунуть списки в соотвтетствущие ресайклеры. Мне придется создать 2 разных адаптера или поставить в нем условия?
Roman
> адаптировать адаптеры, так сказать Android-разработка в 4 словах
Dyno
2 адаптера конечно же
ого, вот это неожиданно. ладно, спасибо
Anonymous
https://ru.stackoverflow.com/questions/857024/osmdroid-долго-грузит-карту
Vitaly
Народ, помогите пожалуста решить очередную проблему) У меня есть БД, в которой может лежать от 1 до 20 пользователей примерно, это аккаунты человека например, но использовать все сразу он разумеется не может и выбирает какой-то конкретный и заходит под ним) В БД содержатся данные которые преобразуются к типу User) Как сделать так, чтобы когда человек например закрывает приложение и входит заново программа определяла последнего запущенного пользователся (currentUser) и открывала именного его аккаунт? Больше интересует не как это можно сделать, а как можно это сделать красиво? У меня пока что 2 варианта: В БД сделать отдельный столбец, где указано, кто входил последний раз или воспользоватьсяя старым добрым Shared Preferences и там указывать id пользователя
Anonymous
В бд лучше будет
Anonymous
Хотя если честно разница нет, оба файла рядом лежат))
Anonymous
В SP, я думаю он быстрее будет вытаскивать
Anonymous
Я в sp делаю, мне так удобнее и кода меньше
Vitaly
С моей точки зрения ситуация выглядит так: если использую Shared Preferences, то у меня замечательно и быстро всё записывается, я быстро могу получить пользователя из БД, но с точки зрения архитектуры это будет выглядить так себе и если я вернусь к коду через полгода например, то будет следующая реакция: "WTF!!! Что за психопат это написал?"
Vitaly
Если пишу через БД, то с кодом всё нормально, но вытаскиваться будет медленне и кода будет гораздо больше
Vitaly
Может есть какое-то третье супер пафосное решение?
Anonymous
Я думаю лучше будет: wtf, что за психопат это писал? Щя я ему покажу как пишет настоящий программист
Anonymous
😄😄
Anonymous
С опытом придёт, так сказать..
Himars
Я думаю лучше будет: wtf, что за психопат это писал? Щя я ему покажу как пишет настоящий программист
Я бы в SP сохранял и не парился Зачем плодить в бд таблицы или доп столбцы + логика как с ними работать.
Ivansuper
Если пишу через БД, то с кодом всё нормально, но вытаскиваться будет медленне и кода будет гораздо больше
БД сделаны под сложные связанные структуры. А преференсы это ключ значение. Посему в преференсы пихать сложные объекты -- психоз
Himars
SP для того и предназначен ну
Himars
Опередили
Vitaly
В Preference у меня будет лежать только строка
Konstantin
но если разбить сложный объект на простые - то мооожно, китайский-дед.жпг
Himars
Konstantin
или просто gson.toJson
Ivansuper
или просто gson.toJson
Вот это вообще зло
Konstantin
и хранишь строку. колхозникам пойдет
Ivansuper
Особенно в базах
Konstantin
чем зло
Himars
Last user id сохранять в префы и фсе
Ivansuper
Гсон медленнее работает чем чтение запись в базу на голо
Konstantin
не, причем тут базы. как хранить в префах сложные объекты - сериализовать и хранить
Vitaly
Спасибо! Буду хранить id-шку в префернсе) Со стороны это действительно логичнее
Konstantin
Гсон медленнее работает чем чтение запись в базу на голо
ну и насколько часто тебе понадобиться это делать
Anonymous
Надо поюзать))
Ivansuper
ну и насколько часто тебе понадобиться это делать
Всегда стараешься более быстрые коды писать
Konstantin
нет
Ivansuper
Вот те на
Konstantin
я стараюсь писать более простой и понятный, но если докопаются за скорость - тогда можно переделать на более "быстрый"
Vitaly
не, причем тут базы. как хранить в префах сложные объекты - сериализовать и хранить
Ну да, а как иначе) Хороший работоспособный способ, если нет внутренних ссылок на другие объекты)) Но тут вопрос назрел, а часто ли вы сериализуете стандартными методами или используете GSON?
Ivansuper
Скорость тебе порой позволяет даже схитрить и на юай потоке считать записать, а не делать асинк для того чтобы интерфейс не тупил
Himars
Например производительностью приходится платить за красивую масштабируемую и тестируемую архитектуру
Сергій
сейчас бы боятся асинктасков 🌚
Konstantin
Скорость тебе порой позволяет даже схитрить и на юай потоке считать записать, а не делать асинк для того чтобы интерфейс не тупил
если у тебя правильно сделано то этим занимаются отдельные штуки, типа репозиториев например, а там уже как хочешь так и делай, хоть в юи хоть в другом потоке
Himars
Отношение классы/к-во фич :д
Ivansuper
Короче, все взрослые, сами знаете как вам сделать :)
Konstantin
Это так звучит будто репо автоматически создается тебе в проект без твоих усилий
ну все же зависит от того хочешь ты бардак в коде одного класса развести или не хочешь )))
Сергій
🌚
Сергій
Сергій
Double cutout, гггг
Himars
Double cutout, гггг
Это типо accessibility
Himars
XD
Сергій
это в последней бете Android P
Konstantin
а всмысле еще и снизу есть
Сергій
https://android-developers.googleblog.com/2018/07/final-preview-update-official-android-p.html
Konstantin
андроид покатился по наклонной )
Ivansuper
Double cutout, гггг
Упаси боже
Сергій
андроид покатился по наклонной )
он подстраивается под вендоров ) скажи спасибо что дали возможность знать, где вырез и как твой апп будет выглядеть, а не как раньше
Ivansuper
А по бокам недавние и назад
Ivansuper
Профит
Ivansuper
(не надо так делать)
Roman
Мдя