2016-02-18 14 views
2

Я создаю мобильное приложение, которое позволяет отправлять сообщения в режиме реального времени, подружиться с пользователями, создавать группы для общения и обмена изображениями, а также создавать события, в которых пользователи могут приглашать друг друга.Firebase онлайн для Android offline datastore

Я решил использовать Firebase в качестве онлайн-back-end. Но, учитывая, что Firebase использует модель данных NoSQL, в то время как Android SQLite использует SQL при сохранении данных в автономном режиме в Android, что является обычным способом справиться с этим? Есть простой способ конвертировать или просто сохранять из NoSQL в SQL, или мне нужно создать конвертер?

(Это особенно важно для событий, как когда-то созданы, они должны быть запланированы в AlamManager, предоставляя пользователям уведомления от времени события)

+3

Firebase построена на жестком диске на Android: https://www.firebase.com/docs/android/guide/offline-capabilities.html#section-enabling-offline-support Я не уверен, d хотите реализовать другой механизм поверх/под ним. –

+0

У вас есть специальная причина не использовать автономное решение для постоянной защиты Firebase? Вы хотите, чтобы автономные данные были доступны в формате POJO? –

ответ

0

Хотя вы могли бы реализовать свои собственные решения, правда, вы не нужно что-то строить с нуля.

Бесплатные библиотеки Android, которые могут вам помочь. Я бы порекомендовал вам:

SimpleNoSQL

Переход от Firebase к SimpleNoSQL довольно прямо вперед, и в основном так же, как если бы вы использовали какой-либо форме SQL:

1) Вы получаете данные с вашего удаленного db: вы можете получить этот запрос на свой удаленный сервер, неважно, какой язык вы используете, пока он может вернуть ответ, который вы можете поймать.

2) Вы сохраняете указанные данные в локальном хранилище NoSQL: после того, как у вас есть запрошенная информация, вам решать, что с ней делать. Вы можете сохранить его в TXT-файле, SQLite db, NoSQL db, сохранить его в SharedPreferences и т. Д.

Надеюсь, что это поможет.

+1

Рассмотрение кода для запроса, это не очень просто и легко ... кажется очень громоздким, чтобы делать самые простые вещи. – Sauron

+0

Мне проще просто работать с библиотекой SQL. По сравнению с классическим способом SQLite, они намного проще и экономит вам много кодирования. Но опять же, если вы обнаружите, что SimpleNoSQL трудно или не просто использовать, вам, вероятно, тоже этого не понравится. – herrmartell