Flutter(Dart)에서 RealtimeDatabase 사용

소개



최근 버전 2로 업그레이드 된 Flutter로 놀고 있습니다.
그래서 RealtimeDatabase로 주저했기 때문에 메모 대신에 둡니다.

FireStore를 사용하면 괜찮습니다.



Firebase+Flutter로 데이터베이스를 취급하는 경우 FireStore나 RealtimeDatabase가 되는 것입니다만
Qiita의 기사를 봐도 새로운 FireStore만으로 RealtimeDatabase에 관한 기사가 적습니다. . .
그러나, FireStore의 읽기 횟수의 무료 테두리가 낮거나,,,
FireStore라면 바로 무료 테두리를 초과하므로 RealtimeDatabase를 사용하고 싶다! 라는 것입니다.

어떤 데이터?



다음과 같은 데이터가 들어 있는 데이터베이스에서 데이터 검색


set(Insert), update는 별로 주저하지 않았으므로 이번에는 쓰지 않는다

실제 코드



sample.dart
//ここまではFireStoreと同じ
var ref = FirebaseDatabase.instance.reference();

//onceはFireStoreでいうところの、get();
Future<DataSnapshot> products = ref.child('product/').once();

List<dynamic> productList = [];
//prodcutの子要素は配列なのでMap<dynamic, dynamic>に変換してforeachする
(snapshot.data.value as Map<dynamic, dynamic>).forEach((key, value) {
   //RealtimeDatabaseから取り出したデータは、Jsonではない何かなので、Jsonに変換する
   var json = new Map<String, dynamic>.from(products.value[key]);
   //リストに突っ込む
   productList.add(json);
});

참고문헌


  • firebase_database 6.1.1
  • 좋은 웹페이지 즐겨찾기