-1

I'm trying to get some date from my firestore database and place it a card view, however, the data does not appear. I'm completely stuck at this point

my code here

import "package:cloud_firestore/cloud_firestore.dart";
import 'package:flutter/material.dart';


class Feed extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return new MaterialApp(
        home: new Scaffold(
            appBar: new AppBar(
              // leading: new IconButton(icon: null, onPressed: null) , // to add hand  menu button
              title: const Text('extraextra'),
            ),
            body: new StreamBuilder(
                stream: Firestore.instance.collection("storys").snapshots(),
                builder: (BuildContext context,
                    AsyncSnapshot<QuerySnapshot> snapshot) {
                  if (!snapshot.hasData) return CircularProgressIndicator();
                 return FeedList(documents: snapshot.data.documents);
                })));
  } // build
} // feed StatelessWidget

class FeedList extends StatelessWidget {
  final List<DocumentSnapshot> documents;
  FeedList({this.documents});
  @override
  Widget build(BuildContext context) {
   return ListView.builder(
       itemBuilder:(BuildContext context, int index){
     String title = documents[index].data['Title'].toString();
     return Card(
       child: Column(
         children: <Widget>[
           ListTile(
             title: Text(title),
           )
         ],
       ),
     );
   } );
  }
}

output:

enter image description here

I've tried many similar methods can seem to one that works. it seems to be connected as the loading spinner comes I've tried it on an emulator as well as my personal device

update console :

(31648): /data/app/com.google.android.gms-1/lib/arm/libconscrypt_gmscore_jni.so: unused DT entry: type 0xf arg 0x193
V/NativeCrypto(31648): Registering com/google/android/gms/org/conscrypt/NativeCrypto's 280 native methods...
D/NetworkSecurityConfig(31648): No Network Security Config specified, using platform default
I/ProviderInstaller(31648): Installed default security provider GmsCore_OpenSSL
W/art     (31648): Before Android 4.1, method double java.util.concurrent.ThreadLocalRandom.internalNextDouble(double, double) would have incorrectly overridden the package-private method in java.util.Random
W/art     (31648): Before Android 4.1, method int java.util.concurrent.ThreadLocalRandom.internalNextInt(int, int) would have incorrectly overridden the package-private method in java.util.Random
W/art     (31648): Before Android 4.1, method long java.util.concurrent.ThreadLocalRandom.internalNextLong(long, long) would have incorrectly overridden the package-private method in java.util.Random
E/art     (31648): The String#value field is not present on Android versions >= 6.0
I/flutter (31648): ══╡ EXCEPTION CAUGHT BY RENDERING LIBRARY ╞═════════════════════════════════════════════════════════
I/flutter (31648): The following assertion was thrown during performLayout():
I/flutter (31648): 'package:flutter/src/widgets/text.dart': Failed assertion: line 213 pos 15: 'data != null': is not
I/flutter (31648): true.
I/flutter (31648): 
I/flutter (31648): Either the assertion indicates an error in the framework itself, or we should provide substantially
I/flutter (31648): more information in this error message to help you determine and fix the underlying cause.
I/flutter (31648): In either case, please report this assertion by filing a bug on GitHub:
I/flutter (31648):   https://github.com/flutter/flutter/issues/new
I/flutter (31648): 
I/flutter (31648): When the exception was thrown, this was the stack:
I/flutter (31648): #2      new Text (package:flutter/src/widgets/text.dart)
I/flutter (31648): #3      FeedList.build.<anonymous closure> (file:///C:/Users/zuriel/AndroidStudioProjects/extraextra/lib/Feed.dart:37:21)
I/flutter (31648): #4      SliverChildBuilderDelegate.build (package:flutter/src/widgets/sliver.dart:197:20)
I/flutter (31648): #5      SliverMultiBoxAdaptorElement._build.<anonymous closure> (package:flutter/src/widgets/sliver.dart:716:67)
I/flutter (31648): #6      _HashMap.putIfAbsent (dart:collection/runtime/libcollection_patch.dart:143:29)
I/flutter (31648): #7      SliverMultiBoxAdaptorElement._build (package:flutter/src/widgets/sliver.dart:716:26)
I/flutter (31648): #8      SliverMultiBoxAdaptorElement.createChild.<anonymous closure> (package:flutter/src/widgets/sliver.dart:729:55)
I/flutter (31648): #9      BuildOwner.buildScope (package:flutter/src/widgets/framework.dart:2222:19)
I/flutter (31648): #10     SliverMultiBoxAdaptorElement.createChild (package:flutter/src/widgets/sliver.dart:722:11)
I/flutter (31648): #11     RenderSliverMultiBoxAdaptor._createOrObtainChild.<anonymous closure> (package:flutter/src/rendering/sliver_multi_box_adaptor.dart:254:23)
I/flutter (31648): #12     RenderObject.invokeLayoutCallback.<anonymous closure> (package:flutter/src/rendering/object.dart:1666:58)
I/flutter (31648): #13     PipelineOwner._enableMutationsToDirtySubtrees (package:flutter/src/rendering/object.dart:740:15)
I/flutter (31648): #14     RenderObject.invokeLayoutCallback (package:flutter/src/rendering/object.dart:1666:13)
I/flutter (31648): #15     RenderSliverMultiBoxAdaptor._createOrObtainChild (package:flutter/src/rendering/sliver_multi_box_adaptor.dart:243:5)
I/flutter (31648): #16     RenderSliverMultiBoxAdaptor.insertAndLayoutChild (package:flutter/src/rendering/sliver_multi_box_adaptor.dart:381:5)
I/flutter (31648): #17     RenderSliverList.performLayout.advance (package:flutter/src/rendering/sliver_list.dart:190:19)
I/flutter (31648): #18     RenderSliverList.performLayout (package:flutter/src/rendering/sliver_list.dart:233:19)
I/flutter (31648): #19     RenderObject.layout (package:flutter/src/rendering/object.dart:1570:7)
I/flutter (31648): #20     RenderSliverPadding.performLayout (package:flutter/src/rendering/sliver_padding.dart:182:11)
I/flutter (31648): #21     RenderObject.layout (package:flutter/src/rendering/object.dart:1570:7)
I/flutter (31648): #22     RenderViewportBase.layoutChildSequence (package:flutter/src/rendering/viewport.dart:336:13)
I/flutter (31648): #23     RenderViewport._attemptLayout (package:flutter/src/rendering/viewport.dart:1172:12)
I/flutter (31648): #24     RenderViewport.performLayout (package:flutter/src/rendering/viewport.dart:1090:20)
I/flutter (31648): #25     RenderObject.layout (package:flutter/src/rendering/object.dart:1570:7)
I/flutter (31648): #26     _RenderProxyBox&RenderBox&RenderObjectWithChildMixin&RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:109:13)
I/flutter (31648): #27     RenderObject.layout (package:flutter/src/rendering/object.dart:1570:7)
I/flutter (31648): #28     _RenderProxyBox&RenderBox&RenderObjectWithChildMixin&RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:109:13)
I/flutter (31648): #29     RenderObject.layout (package:flutter/src/rendering/object.dart:1570:7)
I/flutter (31648): #30     _RenderProxyBox&RenderBox&RenderObjectWithChildMixin&RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:109:13)
I/flutter (31648): #31     RenderObject.layout (package:flutter/src/rendering/object.dart:1570:7)
I/flutter (31648): #32     _RenderProxyBox&RenderBox&RenderObjectWithChildMixin&RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:109:13)
I/flutter (31648): #33     RenderObject.layout (package:flutter/src/rendering/object.dart:1570:7)
I/flutter (31648): #34     _RenderProxyBox&RenderBox&RenderObjectWithChildMixin&RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:109:13)
I/flutter (31648): #35     RenderObject.layout (package:flutter/src/rendering/object.dart:1570:7)
I/flutter (31648): #36     _RenderProxyBox&RenderBox&RenderObjectWithChildMixin&RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:109:13)
I/flutter (31648): #37     RenderObject.layout (package:flutter/src/rendering/object.dart:1570:7)
I/flutter (31648): #38     _RenderProxyBox&RenderBox&RenderObjectWithChildMixin&RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:109:13)
I/flutter (31648): #39     RenderObject.layout (package:flutter/src/rendering/object.dart:1570:7)
I/flutter (31648): #40     _RenderProxyBox&RenderBox&RenderObjectWithChildMixin&RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:109:13)
I/flutter (31648): #41     RenderObject.layout (package:flutter/src/rendering/object.dart:1570:7)
I/flutter (31648): #42     MultiChildLayoutDelegate.layoutChild (package:flutter/src/rendering/custom_layout.dart:141:11)
I/flutter (31648): #43     _ScaffoldLayout.performLayout (package:flutter/src/material/scaffold.dart:399:7)
I/flutter (31648): #44     MultiChildLayoutDelegate._callPerformLayout (package:flutter/src/rendering/custom_layout.dart:211:7)
I/flutter (31648): #45     RenderCustomMultiChildLayoutBox.performLayout (package:flutter/src/rendering/custom_layout.dart:355:14)
I/flutter (31648): #46     RenderObject._layoutWithoutResize (package:flutter/src/rendering/object.dart:1445:7)
I/flutter (31648): #47     PipelineOwner.flushLayout (package:flutter/src/rendering/object.dart:709:18)
I/flutter (31648): #48     _WidgetsFlutterBinding&BindingBase&GestureBinding&ServicesBinding&SchedulerBinding&PaintingBinding&RendererBinding.drawFrame (package:flutter/src/rendering/binding.dart:270:19)
I/flutter (31648): #49     _WidgetsFlutterBinding&BindingBase&GestureBinding&ServicesBinding&SchedulerBinding&PaintingBinding&RendererBinding&WidgetsBinding.drawFrame (package:flutter/src/widgets/binding.dart:627:13)
I/flutter (31648): #50     _WidgetsFlutterBinding&BindingBase&GestureBinding&ServicesBinding&SchedulerBinding&PaintingBinding&RendererBinding._handlePersistentFrameCallback (package:flutter/src/rendering/binding.dart:208:5)
I/flutter (31648): #51     _WidgetsFlutterBinding&BindingBase&GestureBinding&ServicesBinding&SchedulerBinding._invokeFrameCallback (package:flutter/src/scheduler/binding.dart:990:15)
I/flutter (31648): #52     _WidgetsFlutterBinding&BindingBase&GestureBinding&ServicesBinding&SchedulerBinding.handleDrawFrame (package:flutter/src/scheduler/binding.dart:930:9)
I/flutter (31648): #53     _WidgetsFlutterBinding&BindingBase&GestureBinding&ServicesBinding&SchedulerBinding._handleDrawFrame (package:flutter/src/scheduler/binding.dart:842:5)
I/flutter (31648): #54     _invoke (dart:ui/hooks.dart:120:13)
I/flutter (31648): #55     _drawFrame (dart:ui/hooks.dart:109:3)
I/flutter (31648): (elided 2 frames from class _AssertionError)
I/flutter (31648): 
I/flutter (31648): The following RenderObject was being processed when the exception was fired:
I/flutter (31648):   RenderSliverList#50267 relayoutBoundary=up2 NEEDS-LAYOUT NEEDS-PAINT
I/flutter (31648):   creator: SliverList ← MediaQuery ← SliverPadding ← Viewport ← _ScrollableScope ←
I/flutter (31648):   IgnorePointer-[GlobalKey#1626a] ← Semantics ← Listener ← _GestureSemantics ←
I/flutter (31648):   RawGestureDetector-[LabeledGlobalKey<RawGestureDetectorState>#fd3b0] ←
I/flutter (31648):   _ExcludableScrollSemantics-[GlobalKey#3b4e3] ← RepaintBoundary ← ⋯
I/flutter (31648):   parentData: paintOffset=Offset(0.0, 0.0) (can use size)
I/flutter (31648):   constraints: SliverConstraints(AxisDirection.down, GrowthDirection.forward, ScrollDirection.idle,
I/flutter (31648):   scrollOffset: 0.0, remainingPaintExtent: 560.0, crossAxisExtent: 360.0, crossAxisDirection:
I/flutter (31648):   AxisDirection.right, viewportMainAxisExtent: 560.0, remainingCacheExtent: 810.0 cacheOrigin: 0.0 )
I/flutter (31648):   geometry: null
I/flutter (31648):   currently live children: 0 to 0
I/flutter (31648): This RenderObject had the following descendants (showing up to depth 5):
I/flutter (31648):   RenderRepaintBoundary#7af48 relayoutBoundary=up3 NEEDS-PAINT
I/flutter (31648):     RenderSemanticsAnnotations#1b123 relayoutBoundary=up4 NEEDS-PAINT
I/flutter (31648):       RenderPadding#f0d92 relayoutBoundary=up5 NEEDS-PAINT
I/flutter (31648):         RenderPhysicalShape#146f9 relayoutBoundary=up6 NEEDS-PAINT
I/flutter (31648):           RenderCustomPaint#a1290 relayoutBoundary=up7 NEEDS-PAINT
I/flutter (31648): ════════════════════════════════════════════════════════════════════════════════════════════════════
I/flutter (31648): Another exception was thrown: NoSuchMethodError: The getter 'scrollOffsetCorrection' was called on null.
I/flutter (31648): Another exception was thrown: NoSuchMethodError: The method 'debugAssertIsValid' was called on null.
I/flutter (31648): Another exception was thrown: NoSuchMethodError: The getter 'visible' was called on null.
Zuriel Roach
  • 19
  • 1
  • 6

1 Answers1

1

If you have set up your firebase credentials services.json file correctly then you need to check whether there was an error fetching the snapshot. This happened to me recently when i forgot to add firestore rules to allow fetching from my collection. It returned an error saying access denied.

Just try this,

if (snapshot.hasError) { print(snapshot.error.toString()) }
  • no error was printed nor did the console say anything about access being denied. the getter documents was called null and NoSuchMethodError was thrown building StreamBuilder – Zuriel Roach Jul 12 '18 at 09:39
  • It seems that your native java packages might not have been built. Did you do a flutter clean and flutter run. Also did you add the gms jar service in your gradle file. –  Jul 12 '18 at 12:51
  • apparently, the gms service was missing but it's still not rendering the card check my updated console above . – Zuriel Roach Jul 15 '18 at 01:53
  • Basically you are passing a null to the Text widget you should at least coalesce it to an empty string before passing it. –  Jul 17 '18 at 13:39