Я работаю над приложением для Android, которое, помимо прочего, извлекает данные из Интернета. На самом деле, проект был начат кем-то еще, которого здесь больше нет,
и теперь, когда мне нужно превратить его в легкое клиентское приложение и реализовать серверную часть (на Java), я задаюсь вопросом, какие бы лучшие инструменты / шаблоны использовались для удовлетворения моих потребностей.
Допустим, мне приходится иметь дело с несколькими моделями (класс, представляющий категорию) объектов, которые все наследуются от одного класса: они имеют общие атрибуты (такие как имя, прикрепленное изображение ...), но также и специфические свойства.
Из-за этого вы можете понять, что я не могу позволить себе управлять одной конкретной таблицей для сопоставления каждого отдельного класса.
Однако я все еще хочу иметь возможность кэшировать свои объекты где-то на устройстве Android, чтобы заполнить представления приложения при работе в автономном режиме.
В настоящее время решением, использованным предыдущим разработчиком, было хранение данных непосредственно в поле TEXT в базе данных SQLIite в виде сериализованных объектов.
Это должно быть хорошо на стороне сервера, но я читал, что обычная сериализация Java была очень медленной на платформе Android, хотя сейчас это не очень заметно, потому что я работаю с ~ 50 объектами, я искал более производительные альтернативы для будущее.
Я столкнулся с решением JSON, которое может легко обрабатывать сложные структуры, и библиотека Джексона кажется очень интересной с ее упрощенной привязкой данных к объектам POJO и ее известной производительностью.
Но тогда, как я должен хранить мои объекты Json?
Можно ли сохранить строку json в поле TEXT таблицы SQlite?
Или лучше хранить их как файл .json для каждого объекта?
Какой из них наиболее эффективен для последующего получения большого количества данных?
Кроме того, я думал, что JSON будет очень хорошим форматом обмена между клиентским приложением Android и моим сервером, который отвечает за обработку информации из сторонних веб-приложений apis и передачу этих данных с помощью веб-сервисов. (вместо того, чтобы пытаться реализовать какое-то RMI-подобное решение)
Достаточно ли использования обычного Apache HTTPClient на Android для связи с сервером?
Для тех, кто успешно разработал клиент-серверное приложение (что мне кажется очень распространенным), это хороший подход для Android?
Мне кажется, что с мобильными платформами вы не можете использовать тот подход, который вы узнали для более классического приложения J2EE и тому подобного ...
Буду признателен за любые советы, потому что я студент и новичок в Android, которые действительно хотят улучшить свои навыки разработки мобильных приложений!
Спасибо:)