LINUX.ORG.RU

[Android][Java] Организация key=>value хранилища.


0

1

Пишу ежедневник для android. Календарь рисую как таблицу кнопок 6x7. При создании кнопки, к ней привязывается Listener, в котором будет храниться GregorianCalendar.DAY_OF_YEAR и GregorianCalendar.YEAR. При нажатии на некоторую кнопку будет выскакивать Activity со списком дел/заданий для текущей даты. Хотелось бы иметь некоторое хранилище, ключем которого был бы год, значением day_of_year, который в свою очередь является ключем для time, который в свою очередь является ключем для Job. Например:
Year_1 -> Day_Of_Year_1 -> Time_1 -> Job_1.
Year_1 -> Day_Of_Year_1 -> Time_2 -> Job_2.
Year_1 -> Day_Of_Year_2 -> Time_1 -> Job_1.
В android developer manual говорится использовать SharedPreferences для key=>value хранилища, однако сопоставлять один key множеству value там нельзя. Придется вязаться с SQLite или есть какое-то более красивое решение для организации подобного хранилища?


Я так понимаю нужно в постоянном хранилище хранить, тоесть не в памяти.

А на андроиде работает Java Preferences API? Если нет, то можеш просто в XML или в properties сохранять обычный Map. Если нужно как-то посерьезнее, то зачем SQLite если есть pure-java базы, такие как например H2. В свое время выбирал встраиваемую базу, так лушче H2 не нашел. Derby и HSQLDB слили по полной. Одна адски тормозила, вторая кусок говна

vertexua ★★★★☆ ()

для подобных приложний рано или поздно базу (а вместе с ней и ContentProvider) сделать всё равно придётся, но для чего-то очень маленького и просто можно вообще засериализовать и не париться

thevery ★★★★ ()
Ответ на: комментарий от vertexua

>В свое время выбирал встраиваемую базу, так лушче H2 не нашел.

есть ещё беркли на джавке, по идее для key->value самое оно, не?

yyk ★★★★★ ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.