2013-03-13 2 views
0

Будет создано приложение, которое будет вытаскивать объекты JSON из веб-службы, в низких сотнях, каждый относительно небольшой, скажем, 20 кбайт каждый.Хранение объектов JSON: SQLite против сериализации на диск

Приложение не будет делать ничего, кроме отображения этих POJO, загрузки новых и обновленных, когда доступно, и удаления устаревших. Каким будет предпочтительный метод постоянного хранения этих объектов? Я думаю, что два основных соперника хранят их в SQLite DB, возможно, используя ORMLite для сокращения накладных расходов или просто сериализуют объекты на диск, возможно, в одном большом файле и используют очень быстрый парсер JSON.

Любые идеи, что было бы предпочтительным методом?

ответ

1

Вы можете использовать CouchDB как кеш между мобильным клиентом и вашим веб-сервисом.

CouchDB должен будет работать на службе в Интернете, кэшируя объекты из веб-службы. На клиенте вы можете использовать TouchDB-Android: https://github.com/couchbaselabs/TouchDB-iOS/wiki/Why-TouchDB%3F. TouchDB-Android может автоматически синхронизироваться с запуском CouchDB в Интернете. Само приложение будет напрямую обращаться к TouchDB. TouchDB автоматически обнаруживает влажность или нет интернет-соединения, поэтому ваше приложение продолжает работать даже без Интернета.

Преимущества: - Кэширование звонков JSON - Клиент продолжает работать с подключением к Интернету вниз, синхронизируется автоматически при подключении к Интернету снова. - Принимает нагрузку вашего веб-сервиса, и вы можете масштабировать.

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

1

В dbms, таком как SQLLite, должны появляться возможности запросов, индексирования и сортировки (и другие стандартные функции SQL-СУБД), вы должны подумать, нужно ли вам какое-либо из них. Сколько объектов вы планируете иметь в производственной среде? Если говорить, что миллионный метод сериализации диска может не масштабироваться.

+0

Объекты будут отображаться в разных представлениях, то есть по категориям, по дате, поэтому необходимо будет выполнить некоторый тип запросов и сортировки. Я уверен, что это не будет проблемой для любой реализации. Для типа приложения im design не может быть более нескольких сотен объектов – KingFu

Смежные вопросы