2017-05-17 14 views
0

私はロッククライミングのtoposを表示するためにネイティブのAndroidアプリケーションを開発しています。Firebaseのリアルタイムデータベースからすべてのルートと高度を受け取ります。しかし、私はいつもインターネットを必要とするのは馬鹿だと思ったのは、登山の際にインターネットにアクセスできない場所がいくつかあるからです。デバイスがオフラインのときにFirebaseリアルタイムデータベースにアクセスできますか?

ダウンロードオプションを用意して、Firebaseのデータをデバイスに保存してオフラインでアクセスできるようにする予定です。

これは可能ですか?

私はこれが見つかりました:

DatabaseReference gradesRef = FirebaseDatabase.getInstance().getReference("grades"); 
gradesRef.orderByValue().limitToLast(4).addChildEventListener(new ChildEventListener() { 
    @Override 
    public void onChildAdded(DataSnapshot snapshot, String previousChild) { 
     System.out.println("The " + snapshot.getKey() + " climbing grade is " + snapshot.getValue()); 
    } 
}); 

へのデータの問合せオフラインを私はそれは私がやりたいと同じことだかわかりません。

FirebaseDatabase.getInstance().setPersistenceEnabled(true); 

これは、あなたがローカルにデータのコピーを持っているだろうし、あなたがそれを照会することができるでしょうし、また、すべてはあなたがよ変更することを意味します

答えて

2

は、はい、それは、このコード行を使用して、ありますあなたがオフラインになっている間に、あなたがオンラインに戻ったときにデータベースに表示されます。

希望します。

+0

だから一度彼らはオンラインでアプリを使用する、彼らは再びインターネットアクセスが必要ないでしょうか? (アップデートを受け取りたい場合を除く) –

+0

ユーザーがオフラインの場合、インターネットにアクセスする必要はありません。アップデートを受けたい場合や、オフラインで行った変更に応じてtreirデータベースを更新したい場合は、インターネットにアクセスする必要があります。これはFirebaseのメリットの1つです。 –

関連する問題