Я бы не стал подходить к вашему Android-приложению как к расширению Ruby-приложения - скорее, потребителю API. Если вы можете попытаться представить ваше серверное приложение как JSON (или другой формат, но JSON является наиболее легковесным) и использовать эти API из вашего приложения Android, у вас, скорее всего, будет меньше проблем, поскольку JSON уже находится в формате K / V. *
Я еще не написал объекты Android в SQLite, но я записал их как объекты Parcelable и в SharedPreferences. Обе эти стратегии достаточны для небольших и средних приложений. Для приложений, интенсивно использующих данные, очевидно, вам придется сделать еще один шаг вперед к SQLite.
Есть несколько замечательных статей для этих подходов: Управление государством .
Это сводится к проектированию ваших объектов таким образом, чтобы их можно было легко сериализовать. Это означает отсутствие круговых ссылок или чрезвычайно сложных объектов. Это не должно быть очень большой проблемой, особенно если ваши данные уже в формате JSON. Вам просто нужно расширить некоторые классы и добавить функции, которые возвращают представление объекта Parcelable или строковое представление, чтобы ваши объекты могли быть сохранены таким образом.
Я бы не стал клонировать ваши объекты на стороне сервера и проверять их в Android, так как тогда требуется внести изменения в оба источника, если вы сделаете небольшие изменения. Сервер должен обрабатывать все данные и проверку, а вы должны просто запрашивать, кэшировать и отправлять данные с Android.
Мне было бы интересно узнать, есть ли какие-либо проблемы с записью объектов в SQLite, но я думаю, что это не намного больше шага по сравнению с деталями, которые я изложил выше. Надеюсь, это поможет в некотором качестве!