ローカルのみでFirebaseリアルタイムデータベース構造の一部を作成することは可能ですか?

ニック・カルドソ

次のような多対多の構造を持つFirebaseReal-timeデータベースがあります。

App {
   "users" : {
        "user123" : {
            "name" : "Mr Guy"
            ...
            "groups" : {
                "group567" : true,
                "group890" : true
            }
        }
    }
    "groups" : {
        "group567" : {
            "name" : "My Group 1",
            "other" : "some other random stuff",
            "logs" : {
                 "guid345" : {
                     "author" : "Miss Other",
                     "note" : "some change note"
                 },
                 "guid817" : { ... },
                 "guid018" : { ... },
                 ...
             },
             "members" : {
                 "user123" : true,
                 ...    
             }
        }
    }
}

これらはいくつかのオブジェクトにマップされます:

class User {
    private String name;
    private List<Groups> groups;
}

class Group {
    private String name;
    private Other other;
    private List<Log> logs;
}

class Log {
    private String author;
    private String note;
}

ダウンロードするデータの量を最適化する必要があります。(各グループのログノードは、ユーザーがアクティブな間に追加されたアイテムを除いて、ユーザーにとって重要ではありません。つまり、各ユーザーには異なるログのリストが表示されることが予想されます。)

ログフィールドを無視してFirebaseに送信しない方法を知っています-ログをsqliteに個別に保存する実装がありますが、これを手動で行うのでなく、Firebaseのローカルコピーに保存するプロパティを設定する方法がありますデータベースですが、その部分をリモートに同期しませんか?別のデータストアを回避できるように

アレックスマモ

Firebaseリアルタイムデータベースまたは新しいCloudFirestoreデータベースの主な目標は、オフラインデータベースとして機能するのではなく、リアルタイムで機能することです。アプリが一時的にネットワーク接続を失った場合でも、Firebaseアプリケーションは機能します。キャッシュされたデータはオフラインでも利用でき、Firebaseはネットワーク接続が復元されたときに書き込みを再送信します。

ディスクの永続性を有効にすると、アプリはデータをデバイスにローカルに書き込むため、アプリはオフラインでも状態を維持できます。次のコード行を使用して、ディスクの永続性を有効にできます。

FirebaseDatabase.getInstance().setPersistenceEnabled(true);

完全にオフになりたい場合は、FirebaseDatabaseのgoOffline()メソッドを使用できます

このメソッドは、goOnline()が呼び出されるまで、FirebaseDatabaseバックエンドへの接続をシャットダウンします。

ただし、Firebaseリアルタイムデータベースをオフライン専用データベースとして使用することはお勧めしません。それは実際には、切断された短中期の期間に機能するようになったオンラインデータベースとして設計されています。オフライン専用データベースを使用する場合も@Dougスティーブンソンは、彼の答えに言及したように、あなたが使用することができますルーム図書館

Room永続ライブラリは、SQLiteの抽象化レイヤーを提供し、SQLiteの全機能を活用しながら、より堅牢なデータベースアクセスを可能にします。

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

以前のバージョンのリアルタイムデータベースルールにロールバックすることは可能ですか?

分類Dev

ミドルウェアの一部のデータベース行を除外することは可能ですか?

分類Dev

TensorFlowデータセットの一部のみをロードすることは可能ですか?

分類Dev

これは、リアルタイムのFirebaseデータベースの特定の子の値のリストビューの保持のみを表示することは可能ですか?

分類Dev

データテーブル列の値の一部のみをエクスポートすることは可能ですか?

分類Dev

cudaカーネル関数でリストデータ構造を使用することは可能ですか?

分類Dev

Firebaseリアルタイムデータベースの一部をオフラインモードで保存する方法

分類Dev

リアルタイムデータベースでFirebaseCloud Functionsを使用して、複数のノードをカバーするアトミックトランザクションを作成することは可能ですか?

分類Dev

リストスタイルで一部のアイテムのみをオーバーライドする

分類Dev

次のリアルタイムデータベース構造からアイテムを取得するにはどうすればよいですか?

分類Dev

Firebaseリアルタイムデータベースのどこを更新するのですか?

分類Dev

iノードのデータ構造とスーパーブロックを変更することで、同じLinuxファイルシステム上の2つのファイルを連結することは可能ですか?

分類Dev

Firebaseリアルタイムデータベースの読み取り操作-返されるドキュメントの一部のみを取得できますか?

分類Dev

名前付きパイプまたは標準入力からデータを読み取ることで、何らかの形でマルチボリュームRARアーカイブを作成することは可能ですか?

分類Dev

外部データベースからのみデータを読み取り、REST APIを提供するDjangoアプリを作成することは可能ですか?

分類Dev

データベース全体のテーブルエイリアスを持つことは可能ですか?

分類Dev

D3jsカスタムノードでツリー構造のようなビューを作成することは可能ですか?

分類Dev

Firebase認証をリアルタイムデータベースにリンクすることは可能ですか?

分類Dev

新しいFirebaseコンソールでは、リアルタイムデータベースのノードの名前を編集したり、移動したり、クローンを作成したりすることはできません

分類Dev

recyclerviewへのfirebaseリアルタイムのデータベースからデータを取得することができません。

分類Dev

F#コードからデータベース構造を作成することは可能ですか?

分類Dev

liquibaseインサートにデータの一部を生成することは可能ですか?

分類Dev

Active Directory:Computer $アカウントをグループの一部(たとえば、USERSグループの一部)にすることは可能ですか?

分類Dev

カスタムシリアライザーで既知のデフォルト形式としてシリアル化することは可能ですか?

分類Dev

アプリの一部のみでiPadビューをサポートすることは可能ですか?

分類Dev

Androidアプリでカスタムリストをスクロールすると、カスタムアダプターの一部であるお気に入りのアイコンが自動的に変更されます

分類Dev

データベースのfirebaseをリアルタイムで更新する

分類Dev

Wordpress:ブロックエディタースタイルシートのcssセレクターの一部としてpost-typeを使用することは可能ですか?

分類Dev

ローカルの変更でリモートデータベース構造を更新するにはどうすればよいですか?

Related 関連記事

  1. 1

    以前のバージョンのリアルタイムデータベースルールにロールバックすることは可能ですか?

  2. 2

    ミドルウェアの一部のデータベース行を除外することは可能ですか?

  3. 3

    TensorFlowデータセットの一部のみをロードすることは可能ですか?

  4. 4

    これは、リアルタイムのFirebaseデータベースの特定の子の値のリストビューの保持のみを表示することは可能ですか?

  5. 5

    データテーブル列の値の一部のみをエクスポートすることは可能ですか?

  6. 6

    cudaカーネル関数でリストデータ構造を使用することは可能ですか?

  7. 7

    Firebaseリアルタイムデータベースの一部をオフラインモードで保存する方法

  8. 8

    リアルタイムデータベースでFirebaseCloud Functionsを使用して、複数のノードをカバーするアトミックトランザクションを作成することは可能ですか?

  9. 9

    リストスタイルで一部のアイテムのみをオーバーライドする

  10. 10

    次のリアルタイムデータベース構造からアイテムを取得するにはどうすればよいですか?

  11. 11

    Firebaseリアルタイムデータベースのどこを更新するのですか?

  12. 12

    iノードのデータ構造とスーパーブロックを変更することで、同じLinuxファイルシステム上の2つのファイルを連結することは可能ですか?

  13. 13

    Firebaseリアルタイムデータベースの読み取り操作-返されるドキュメントの一部のみを取得できますか?

  14. 14

    名前付きパイプまたは標準入力からデータを読み取ることで、何らかの形でマルチボリュームRARアーカイブを作成することは可能ですか?

  15. 15

    外部データベースからのみデータを読み取り、REST APIを提供するDjangoアプリを作成することは可能ですか?

  16. 16

    データベース全体のテーブルエイリアスを持つことは可能ですか?

  17. 17

    D3jsカスタムノードでツリー構造のようなビューを作成することは可能ですか?

  18. 18

    Firebase認証をリアルタイムデータベースにリンクすることは可能ですか?

  19. 19

    新しいFirebaseコンソールでは、リアルタイムデータベースのノードの名前を編集したり、移動したり、クローンを作成したりすることはできません

  20. 20

    recyclerviewへのfirebaseリアルタイムのデータベースからデータを取得することができません。

  21. 21

    F#コードからデータベース構造を作成することは可能ですか?

  22. 22

    liquibaseインサートにデータの一部を生成することは可能ですか?

  23. 23

    Active Directory:Computer $アカウントをグループの一部(たとえば、USERSグループの一部)にすることは可能ですか?

  24. 24

    カスタムシリアライザーで既知のデフォルト形式としてシリアル化することは可能ですか?

  25. 25

    アプリの一部のみでiPadビューをサポートすることは可能ですか?

  26. 26

    Androidアプリでカスタムリストをスクロールすると、カスタムアダプターの一部であるお気に入りのアイコンが自動的に変更されます

  27. 27

    データベースのfirebaseをリアルタイムで更新する

  28. 28

    Wordpress:ブロックエディタースタイルシートのcssセレクターの一部としてpost-typeを使用することは可能ですか?

  29. 29

    ローカルの変更でリモートデータベース構造を更新するにはどうすればよいですか?

ホットタグ

アーカイブ