Issue 1:
Steps to Reproduce

import 'dart:async';
import 'package:cloud_firestore/cloud_firestore.dart';
import 'package:flutter/material.dart';
import './Screens/home.dart';

Future query() async {
DocumentSnapshot result = await Firestore.instance.collection('dummydocs').document("doc1").get();
print("RESULT: " + result.data.toString());
}

void main() {
query();
runApp(new MyApp());
}

class MyApp extends StatelessWidget {
// This widget is the root of your application.
@override
Widget build(BuildContext context) {
return new MaterialApp(
title: 'Flutter Demo',
home: new Home(title:"Nothing Special"),
);
}
}

Logs

03-01 00:24:42.975 7906-7926/com.project E/flutter: [ERROR:topaz/lib/tonic/logging/dart_error.cc(16)] Unhandled exception:
type '_InternalLinkedHashMap' is not a subtype of type 'Map<String, dynamic>' where
_InternalLinkedHashMap is from dart:collection
Map is from dart:core
String is from dart:core

#0 DocumentReference.get (file:///home/tarcisio/.pub-cache/hosted/pub.dartlang.org/cloud_firestore-0.2.9/lib/src/document_reference.dart)
<asynchronous suspension>
#1 query (file:///home/tarcisio/AndroidStudioProjects/test_flutter/lib/main.dart:10:87)
<asynchronous suspension>
#2 main (file:///home/tarcisio/AndroidStudioProjects/test_flutter/lib/main.dart:15:3)
#3 _startIsolate.<anonymous closure> (dart:isolate/isolate_patch.dart:279:19)
#4 _RawReceivePortImpl._handleMessage (dart:isolate/isolate_patch.dart:165:12)

Run flutter analyze and attach any output of that command also.

Flutter Doctor

-> No Issues found!

Issue 2:
Steps to Reproduce

I'm new to using Flutter / Dart, apologise in advance if this is something very basic. I've checked through all the documentation for the firebase database plugin and checked all the codelabs, this (what I deem simple) action is frustratingly hard to achieve.

final DatabaseReference reference = FirebaseDatabase.instance.reference().child('/');
final DataSnapshot snapshot = await reference.once();
print(snapshot.value); // returns a JSON object in the console.

How do I iterate over this value? I have tried to cast snapshot.value to a Map<String, String> and also tried snapshot.value.forEach (as in the docs) but this isn't supported.

The flutter logs are unfortunately also not very useful:

Logs

Reloaded 1 of 446 libraries in 464ms.
[VERBOSE-2:dart_error.cc(16)] Unhandled exception:
NoSuchMethodError: Class '_InternalLinkedHashMap' has no instance method 'call'.
Receiver: _LinkedHashMap len:1
Tried calling: call()
#0 Object._noSuchMethod (dart:core-patch/object_patch.dart:42)
#1 Object.noSuchMethod (dart:core-patch/object_patch.dart:46)
#2 _MyHomePageState.printFirebaseData (/Users/gurmukh/Library/Developer/CoreSimulator/Devices/96A5FE84-FD46-4A01-884B-E38069E0671E/data/Containers/Data/Application/8A200DD5-9395-4CFB-9545-E6B1C96D7F82/tmp/cryptoporfolioxS4M60/cryptoporfolio/lib/main.dart:73:14)
<asynchronous suspension>
#3 _MyHomePageState.build (/Users/gurmukh/Library/Developer/CoreSimulator/Devices/96A5FE84-FD46-4A01-884B-E38069E0671E/data/Containers/Data/Application/8A200DD5-9395-4CFB-9545-E6B1C96D7F82/tmp/cryptoporfolioxS4M60/cryptoporfolio/lib/main.dart:79:5)
#4 StatefulElement.build (package:flutter/src/widgets/framework.dart:3624:27)
#5 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:3534:15)
#6 Element.rebuild (package:flutter/src/widgets/framework.dart:3435:5)
#7 StatefulElement.update (package:flutter/src/widgets/framework.dart:3671:5)
#8 Element.updateChild (package:flutter/src/widgets/framework.dart:2674:15)
#9 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:3546:16)
#10 Element.rebuild (package:flutter/src/widgets/framework.dart:3435:5)
#11 ProxyElement.update (package:flutter/src/widgets/framework.dart:3781:5)
#12 Element.updateChild (package:flutter/src/widgets/framework.dart:2674:15)
#13 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:3546:16)
#14 Element.rebuild (package:flutter/src/widgets/framework.dart:3435:5)
#15 StatelessElement.update (package:flutter/src/widgets/framework.dart:3596:5)
#16 Element.updateChild (package:flutter/src/widgets/framework.dart:2674:15)
#17 SingleChildRenderObjectElement.update (package:flutter/src/widgets/framework.dart:4523:14)
#18 Element.updateChild (package:flutter/src/widgets/framework.dart:2674:15)
#19 RenderObjectElement.updateChildren (package:flutter/src/widgets/framework.dart:4250:32)
#20 MultiChildRenderObjectElement.update (package:flutter/src/widgets/framework.dart:4631:17)
#21 Element.updateChild (package:flutter/src/widgets/framework.dart:2674:15)
#22 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:3546:16)
#23 Element.rebuild (package:flutter/src/widgets/framework.dart:3435:5)
#24 StatefulElement.update (package:flutter/src/widgets/framework.dart:3671:5)
#25 Element.updateChild (package:flutter/src/widgets/framework.dart:2674:15)
#26 SingleChildRenderObjectElement.update (package:flutter/src/widgets/framework.dart:4523:14)
#27 Element.updateChild (package:flutter/src/widgets/framework.dart:2674:15)
#28 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:3546:16)
#29 Element.rebuild (package:flutter/src/widgets/framework.dart:3435:5)
#30 StatefulElement.update (package:flutter/src/widgets/framework.dart:3671:5)
#31 Element.updateChild (package:flutter/src/widgets/framework.dart:2674:15)
#32 SingleChildRenderObjectElement.update (package:flutter/src/widgets/framework.dart:4523:14)
#33 Element.updateChild (package:flutter/src/widgets/framework.dart:2674:15)
#34 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:3546:16)
#35 Element.rebuild (package:flutter/src/widgets/framework.dart:3435:5)
#36 StatefulElement.update (package:flutter/src/widgets/framework.dart:3671:5)
#37 Element.updateChild (package:flutter/src/widgets/framework.dart:2674:15)
#38 SingleChildRenderObjectElement.update (package:flutter/src/widgets/framework.dart:4523:14)
#39 Element.updateChild (package:flutter/src/widgets/framework.dart:2674:15)
#40 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:3546:16)
#41 Element.rebuild (package:flutter/src/widgets/framework.dart:3435:5)
#42 StatefulElement.update (package:flutter/src/widgets/framework.dart:3671:5)
#43 Element.updateChild (package:flutter/src/widgets/framework.dart:2674:15)
#44 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:3546:16)
#45 Element.rebuild (package:flutter/src/widgets/framework.dart:3435:5)
#46 StatelessElement.update (package:flutter/src/widgets/framework.dart:3596:5)
#47 Element.updateChild (package:flutter/src/widgets/framework.dart:2674:15)
#48 SingleChildRenderObjectElement.update (package:flutter/src/widgets/framework.dart:4523:14)
#49 Element.updateChild (package:flutter/src/widgets/framework.dart:2674:15)
#50 SingleChildRenderObjectElement.update (package:flutter/src/widgets/framework.dart:4523:14)
#51 Element.updateChild (package:flutter/src/widgets/framework.dart:2674:15)
#52 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:3546:16)
#53 Element.rebuild (package:flutter/src/widgets/framework.dart:3435:5)
#54 ProxyElement.update (package:flutter/src/widgets/framework.dart:3781:5)
#55 Element.updateChild (package:flutter/src/widgets/framework.dart:2674:15)
#56 SingleChildRenderObjectElement.update (package:flutter/src/widgets/framework.dart:4523:14)
#57 Element.updateChild (package:flutter/src/widgets/framework.dart:2674:15)
#58 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:3546:16)
#59 Element.rebuild (package:flutter/src/widgets/framework.dart:3435:5)
#60 StatefulElement.update (package:flutter/src/widgets/framework.dart:3671:5)
#61 Element.updateChild (package:flutter/src/widgets/framework.dart:2674:15)
#62 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:3546:16)
#63 Element.rebuild (package:flutter/src/widgets/framework.dart:3435:5)
#64 StatefulElement.update (package:flutter/src/widgets/framework.dart:3671:5)
#65 Element.updateChild (package:flutter/src/widgets/framework.dart:2674:15)
#66 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:3546:16)
#67 Element.rebuild (package:flutter/src/widgets/framework.dart:3435:5)
#68 StatefulElement.update (package:flutter/src/widgets/framework.dart:3671:5)
#69 Element.updateChild (package:flutter/src/widgets/framework.dart:2674:15)
#70 RenderObjectElement.updateChildren (package:flutter/src/widgets/framework.dart:4250:32)
#71 MultiChildRenderObjectElement.update (package:flutter/src/widgets/framework.dart:4631:17)
#72 Element.updateChild (package:flutter/src/widgets/framework.dart:2674:15)
#73 _TheatreElement.update (package:flutter/src/widgets/overlay.dart:507:16)
#74 Element.updateChild (package:flutter/src/widgets/framework.dart:2674:15)
#75 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:3546:16)
#76 Element.rebuild (package:flutter/src/widgets/framework.dart:3435:5)
#77 StatefulElement.update (package:flutter/src/widgets/framework.dart:3671:5)
#78 Element.updateChild (package:flutter/src/widgets/framework.dart:2674:15)
#79 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:3546:16)
#80 Element.rebuild (package:flutter/src/widgets/framework.dart:3435:5)
#81 ProxyElement.update (package:flutter/src/widgets/framework.dart:3781:5)
#82 Element.updateChild (package:flutter/src/widgets/framework.dart:2674:15)
#83 SingleChildRenderObjectElement.update (package:flutter/src/widgets/framework.dart:4523:14)
#84 Element.updateChild (package:flutter/src/widgets/framework.dart:2674:15)
#85 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:3546:16)
#86 Element.rebuild (package:flutter/src/widgets/framework.dart:3435:5)
#87 StatefulElement.update (package:flutter/src/widgets/framework.dart:3671:5)
#88 Element.updateChild (package:flutter/src/widgets/framework.dart:2674:15)
#89 SingleChildRenderObjectElement.update (package:flutter/src/widgets/framework.dart:4523:14)
#90 Element.updateChild (package:flutter/src/widgets/framework.dart:2674:15)
#91 SingleChildRenderObjectElement.update (package:flutter/src/widgets/framework.dart:4523:14)
#92 Element.updateChild (package:flutter/src/widgets/framework.dart:2674:15)
#93 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:3546:16)
#94 Element.rebuild (package:flutter/src/widgets/framework.dart:3435:5)
#95 StatefulElement.update (package:flutter/src/widgets/framework.dart:3671:5)
#96 Element.updateChild (package:flutter/src/widgets/framework.dart:2674:15)
#97 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:3546:16)
#98 Element.rebuild (package:flutter/src/widgets/framework.dart:3435:5)
#99 StatelessElement.update (package:flutter/src/widgets/framework.dart:3596:5)
#100 Element.updateChild (package:flutter/src/widgets/framework.dart:2674:15)
#101 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:3546:16)
#102 Element.rebuild (package:flutter/src/widgets/framework.dart:3435:5)
#103 ProxyElement.update (package:flutter/src/widgets/framework.dart:3781:5)
#104 Element.updateChild (package:flutter/src/widgets/framework.dart:2674:15)
#105 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:3546:16)
#106 Element.rebuild (package:flutter/src/widgets/framework.dart:3435:5)
#107 ProxyElement.update (package:flutter/src/widgets/framework.dart:3781:5)
#108 Element.updateChild (package:flutter/src/widgets/framework.dart:2674:15)
#109 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:3546:16)
#110 Element.rebuild (package:flutter/src/widgets/framework.dart:3435:5)
#111 ProxyElement.update (package:flutter/src/widgets/framework.dart:3781:5)
#112 Element.updateChild (package:flutter/src/widgets/framework.dart:2674:15)
#113 SingleChildRenderObjectElement.update (package:flutter/src/widgets/framework.dart:4523:14)
#114 Element.updateChild (package:flutter/src/widgets/framework.dart:2674:15)
#115 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:3546:16)
#116 Element.rebuild (package:flutter/src/widgets/framework.dart:3435:5)
#117 StatelessElement.update (package:flutter/src/widgets/framework.dart:3596:5)
#118 Element.updateChild (package:flutter/src/widgets/framework.dart:2674:15)
#119 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:3546:16)
#120 Element.rebuild (package:flutter/src/widgets/framework.dart:3435:5)
#121 StatelessElement.update (package:flutter/src/widgets/framework.dart:3596:5)
#122 Element.updateChild (package:flutter/src/widgets/framework.dart:2674:15)
#123 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:3546:16)
#124 Element.rebuild (package:flutter/src/widgets/framework.dart:3435:5)
#125 StatefulElement.update (package:flutter/src/widgets/framework.dart:3671:5)
#126 Element.updateChild (package:flutter/src/widgets/framework.dart:2674:15)
#127 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:3546:16)
#128 Element.rebuild (package:flutter/src/widgets/framework.dart:3435:5)
#129 ProxyElement.update (package:flutter/src/widgets/framework.dart:3781:5)
#130 Element.updateChild (package:flutter/src/widgets/framework.dart:2674:15)
#131 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:3546:16)
#132 Element.rebuild (package:flutter/src/widgets/framework.dart:3435:5)
#133 ProxyElement.update (package:flutter/src/widgets/framework.dart:3781:5)
#134 Element.updateChild (package:flutter/src/widgets/framework.dart:2674:15)
#135 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:3546:16)
#136 Element.rebuild (package:flutter/src/widgets/framework.dart:3435:5)
#137 StatelessElement.update (package:flutter/src/widgets/framework.dart:3596:5)
#138 Element.updateChild (package:flutter/src/widgets/framework.dart:2674:15)
#139 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:3546:16)
#140 Element.rebuild (package:flutter/src/widgets/framework.dart:3435:5)
#141 StatefulElement.update (package:flutter/src/widgets/framework.dart:3671:5)
#142 Element.updateChild (package:flutter/src/widgets/framework.dart:2674:15)
#143 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:3546:16)
#144 Element.rebuild (package:flutter/src/widgets/framework.dart:3435:5)
#145 ProxyElement.update (package:flutter/src/widgets/framework.dart:3781:5)
#146 Element.updateChild (package:flutter/src/widgets/framework.dart:2674:15)
#147 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:3546:16)
#148 Element.rebuild (package:flutter/src/widgets/framework.dart:3435:5)
#149 StatefulElement.update (package:flutter/src/widgets/framework.dart:3671:5)
#150 Element.updateChild (package:flutter/src/widgets/framework.dart:2674:15)
#151 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:3546:16)
#152 Element.rebuild (package:flutter/src/widgets/framework.dart:3435:5)
#153 BuildOwner.buildScope (package:flutter/src/widgets/framework.dart:2260:33)
#154 BindingBase&SchedulerBinding&GestureBinding&ServicesBinding&RendererBinding&WidgetsBinding.drawFrame (package:flutter/src/widgets/binding.dart:503:20)
#155 BindingBase&SchedulerBinding&GestureBinding&ServicesBinding&RendererBinding._handlePersistentFrameCallback (package:flutter/src/rendering/binding.dart:189:5)
#156 BindingBase&SchedulerBinding._invokeFrameCallback (package:flutter/src/scheduler/binding.dart:695:15)
#157 BindingBase&SchedulerBinding.handleDrawFrame (package:flutter/src/scheduler/binding.dart:643:9)
#158 BindingBase&SchedulerBinding&GestureBinding&ServicesBinding&RendererBinding.scheduleWarmUpFrame.<anonymous closure> (package:flutter/src/rendering/binding.dart:275:20)
#159 Timer._createTimer.<anonymous closure> (dart:async-patch/timer_patch.dart:21)
#160 _Timer._runTimers (dart:isolate-patch/timer_impl.dart:366)
#161 _Timer._handleMessage (dart:isolate-patch/timer_impl.dart:394)
#162 _RawReceivePortImpl._handleMessage (dart:isolate-patch/isolate_patch.dart:151)