2017-09-01 1 views
0

Firebase Databaseプラグインを使用していますが、「スケジュール」行からすべてのデータを取得しようとしています。Firebase Database Pluginを使用してReferencesからすべてのデータを取得する方法

私はこのコードを持っており、すでにFirebaseサーバに接続しています。

FirebaseDatabase.instance.reference().child('schedules'); 

私のデータは、このように保存されています。 screenshot of Firebase

私はデータを取得し、私はそれを後で使用できるように、リスト上でそれを挿入したかったです。

データはFirebaseに格納する必要があります。なぜなら、それらの3つの値を一緒に取得する必要があるからです。また、Firebaseプラグインを使用すると、インターネットに接続しているときにデータを更新し、切断してもデータを見ることができるのだろうか。以前はhttpRequestsを使用していましたが、ローカルストレージマネージャを使用しないことにしました。このプラグインが私のためにできるかどうかを確認するだけです。

もしそれができるのであれば、フラッターを使ってすべての子供のデータを「スケジュール」から得る正しい方法は何でしょうか? (データはリストとして表示されないので、FirebaseAnimatedListは使用できません)

答えて

1

StreamBuilderを使用して、データの変更時にスケジュールのリストに依存するアプリケーションのセクションが自動的に再構築されるようにします。

return new StreamBuilder<Event>(
    stream: FirebaseDatabase.instance.reference().child('schedules').onValue, 
    builder: (BuildContext context, AsyncSnapshot<Event> event) { 
     if (!event.hasData) 
     return new Center(child: new Text('Loading...')); 
     Map<String, Map> schedules = event.data.snapshot.value; 
     // Do something with the list of schedules 
    }, 
), 

何らかの理由であなたは一度だけのスケジュールの一覧を取得once()代わりのonValueawaitその値を使用したい場合

+0

私はこのエラーを取得する:「_InternalLinkedHashMap」「のスケジュール」 – icazevedo

+0

のタイプ「リスト」のサブタイプではなく、私はをマップする一覧を変更することで、エラーを修正しました。それを稼働させた! – icazevedo

+0

私は自分の答えを編集して正しいタイプを使用しました。うれしかったのでうれしいよ! –

関連する問題