Java | Динамичные объекты

215
19 ноября 2017, 13:48

Приветствую.

Условие задачи: Имеется класс User, в котором есть переменные: nickname, accessLevel, id и другие. Задача: при подключении юзера вытаскивается его уникальный номер в системе и сопоставляется с тем, который отправил пользователь. После чего все данные (nickname, accessLevel и прочие) должны занестись в объект класса User с именем, состоящим из уникального идентификатора (для последующего обращения к этому объекту, а не осуществляя бесконечные запросы к базе данных).

Как это можно реализовать чтобы потом не возникало проблем с вытаскиванием содержимого объекта, изменением содержимого и удалением в случае, если юзер ушёл в оффлайн? Знаю, что массивы для этих целей не очень подходят в виду своей прожорливости.

Answer 1

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

Откуда вы знаете номер пользователя, если тот который он отправил не верный? Какой ещё уникальный критерий у вас определяет пользователя?

После чего все данные (nickname, accessLevel и прочие) должны занестись в объект класса User с именем, состоящим из уникального идентификатора (для последующего обращения к этому объекту, а не осуществляя бесконечные запросы к базе данных).

Вы один раз запрашиваете БД и на основе полученных данных создаете объект User и дальше пользуетесь им.

Как это можно реализовать чтобы потом не возникало проблем с вытаскиванием содержимого объекта, изменением содержимого и удалением в случае, если юзер ушёл в оффлайн?

Если user вышел, логично удалить его объект, вы не знаете вернется он или нет. Если вернется то авторизуется заново, а вы снова достанете данные из БД.

А лучше приведите куски кода в которых у вас проблема. Объясните, что вы пытаетесь сделать и что у вас получается, в чем отличия.

Запрос к БД не такая долгая операция, если у вас не несколько миллионов записей в таблице.

READ ALSO
Синхронизация в Java

Синхронизация в Java

Смысл такой: заходят три потока с очередностью в три секунды, первый поток как надо проходит остальные два ждут, но когда доходит до просыпания...

182
Веб-приложение на Java

Веб-приложение на Java

Нужно реализовать MVC приложение на JavaБудет одна общая БД для веб-приложения и для Android-приложение

208
Сделать код элегантным

Сделать код элегантным

Надо сделать заглавными последние буквы каждого словаНо CodeHunt не считает мой код самым коротким

131
Поиск по SQLite через EditText

Поиск по SQLite через EditText

Вопрос наверное слишком общий, но на конкретном примере моего кода может подскажите ктоУ меня есть DialogFragment:

142