2016-11-14 16 views
1

有効期限についての説明が必要ですAndroid用Firebase Realtime Databaseの永続性です。ドキュメントは言う:AndroidベースのFirebaseリアルタイムデータベース

「有効ディスクの永続性を持つ、私たちの同期データと書き込みは になるアプリを再起動してディスクに永続化し、我々のアプリはオフラインの状況でシームレスに を動作するはずです。」

私の質問は:アプリを再起動した後、別のクエリを作成せずにデータを永続性から取得するにはどうすればよいですか?例えば
私は最後のレコードのキーを保存した場合、私は

ref.orderByKey().startAt(LAST_KEY) 

としてクエリを行うことができますが、問題は、私が以前に保存したデータを取り出すことができないということです。
ローカルデータベースを使用してデータを保存する必要がありますか?
おかげ

+0

私はあなたが求めているところではっきりしていません。ネットワーク接続なしでアプリケーションを再起動すると、以前と同じリスナーが動作しますが、ディスクベースのキャッシュから結果が得られます。 –

+0

こんにちはフランク、あなたの返事をありがとう。これはシナリオです:更新を維持し、childEventListenerを使用するためのリストがあります。ユーザーが電話またはアプリケーションを再起動した場合、リスナーはリスト全体を再度ダウンロードします(そしてfirebaseコンソールでは、使用量がピークに達しています)。私は、ローカルfirebaseデータベースインスタンスの永続性からデータを取得する方法があるかどうかを知りたいと思います。 – Azincourt

+1

リスナーは必ずしもすべてのデータを再ダウンロードするとは限りません。しかし、間違いなく同期を行う必要があります。ローカルキャッシュからのみロードする個別のAPIはありません。しかし、 'goOffline()'を呼び出すと、Firebaseの同期を防ぐことができます。その場合、なぜクラウドホストのリアルタイム同期データベースを使用しているのか不思議に思うでしょう。よりシンプルなデータベース(Google Cloud Datastoreなど)を使用してローカルデータベースにデータを保存する方が簡単です。 –

答えて

0

.keepSynced(真の); 最新のデータを最大10 MBまでローカルデータストレージに同期します。アプリケーションデータを再起動してもFirebaseローカルストレージに既に存在しています。

関連する問題