Как получить доступ ко второму документу в коллекции Firebase Firestore во Flutter? - PullRequest
0 голосов
/ 22 мая 2019

У меня есть коллекция с именем «wallpapers» в моем пожарном депо, где каждый документ в моей коллекции содержит три записи, одна из которых называется «url». Как я могу получить доступ к разделу «url» второго документа во флаттере? Вот что я пытаюсь сделать:

String header_url;
  Firestore.instance.collection('wallpapers').getDocuments().then((document) {
    header_url = document.documents.elementAt(1).data['url'];
  });
  NetworkImage header = NetworkImage(header_url);

А вот что я получаю в своих логах:

Launching lib\main.dart on QMobile Z10 in debug mode...
Initializing gradle...
Resolving dependencies...
Running Gradle task 'assembleDebug'...
registerResGeneratingTask is deprecated, use registerGeneratedResFolders(FileCollection)
registerResGeneratingTask is deprecated, use registerGeneratedResFolders(FileCollection)
registerResGeneratingTask is deprecated, use registerGeneratedResFolders(FileCollection)
registerResGeneratingTask is deprecated, use registerGeneratedResFolders(FileCollection)
registerResGeneratingTask is deprecated, use registerGeneratedResFolders(FileCollection)
Built build\app\outputs\apk\debug\app-debug.apk.
Installing build\app\outputs\apk\app.apk...
E/flutter (19630): [ERROR:flutter/lib/ui/ui_dart_state.cc(148)] Unhandled Exception: 'package:flutter/src/painting/image_provider.dart': Failed assertion: line 486 pos 14: 'url != null': is not true.
E/flutter (19630): #0      _AssertionError._doThrowNew (dart:core-patch/errors_patch.dart:40:39)
E/flutter (19630): #1      _AssertionError._throwNew (dart:core-patch/errors_patch.dart:36:5)
E/flutter (19630): #2      new NetworkImage (package:flutter/src/painting/image_provider.dart:486:14)
E/flutter (19630): #3      main (package:querencia/main.dart:13:25)
E/flutter (19630): #4      _runMainZoned.<anonymous closure>.<anonymous closure> (dart:ui/hooks.dart:199:25)
E/flutter (19630): #5      _rootRun (dart:async/zone.dart:1124:13)
E/flutter (19630): #6      _CustomZone.run (dart:async/zone.dart:1021:19)
E/flutter (19630): #7      _runZoned (dart:async/zone.dart:1516:10)
E/flutter (19630): #8      runZoned (dart:async/zone.dart:1500:12)
E/flutter (19630): #9      _runMainZoned.<anonymous closure> (dart:ui/hooks.dart:190:5)
E/flutter (19630): #10     _startIsolate.<anonymous closure> (dart:isolate-patch/isolate_patch.dart:300:19)
E/flutter (19630): #11     _RawReceivePortImpl._handleMessage (dart:isolate-patch/isolate_patch.dart:171:12)
E/flutter (19630): 
Syncing files to device QMobile Z10...
D/SQLiteDatabase(19630): beginTransaction()
D/SQLiteDatabase(19630): endTransaction()
D/SQLiteDatabase(19630): beginTransaction()
D/SQLiteDatabase(19630): endTransaction()
D/SQLiteDatabase(19630): beginTransaction()
D/SQLiteDatabase(19630): endTransaction()
D/SQLiteDatabase(19630): beginTransaction()
D/SQLiteDatabase(19630): endTransaction()
D/SQLiteDatabase(19630): beginTransaction()
D/SQLiteDatabase(19630): endTransaction()
V/InputMethodManager(19630): START INPUT: io.flutter.view.FlutterView{85d34b5 VFE..... .F...... 0,0-1080,1776} ic=null tba=android.view.inputmethod.EditorInfo@3723d594 controlFlags=#100
D/ActivityThread(19630): ACT-AM_ON_PAUSE_CALLED ActivityRecord{136c51 token=android.os.BinderProxy@aebfcb6 {com.technoscans.querencia/com.technoscans.querencia.MainActivity}}
D/ActivityThread(19630): ACT-PAUSE_ACTIVITY handled : 0 / android.os.BinderProxy@aebfcb6
V/ActivityThread(19630): Finishing stop of ActivityRecord{136c51 token=android.os.BinderProxy@aebfcb6 {com.technoscans.querencia/com.technoscans.querencia.MainActivity}}: show=true win=com.android.internal.policy.impl.PhoneWindow@3d76d983
D/ActivityThread(19630): ACT-STOP_ACTIVITY_SHOW handled : 0 / android.os.BinderProxy@aebfcb6
D/SQLiteDatabase(19630): beginTransaction()
D/SQLiteDatabase(19630): endTransaction()
D/SQLiteDatabase(19630): beginTransaction()
D/SQLiteDatabase(19630): endTransaction()
V/InputMethodManager(19630): START INPUT: io.flutter.view.FlutterView{85d34b5 VFE..... .F...... 0,0-1080,1776} ic=null tba=android.view.inputmethod.EditorInfo@2c8c432c controlFlags=#100
V/InputMethodManager(19630): START INPUT: io.flutter.view.FlutterView{85d34b5 VFE..... .F...... 0,0-1080,1776} ic=null tba=android.view.inputmethod.EditorInfo@143831f5 controlFlags=#100
I/System.out(19630): [CDS]close[56739]
I/System.out(19630): [CDS][DNS] getAllByNameImpl netId = 0
D/libc-netbsd(19630): [getaddrinfo]: hostname=firestore.googleapis.com; servname=(null); cache_mode=(null), netid=0; mark=0
D/libc-netbsd(19630): [getaddrinfo]: ai_addrlen=0; ai_canonname=(null); ai_flags=4; ai_family=0
D/libc-netbsd(19630): [getaddrinfo]: hostname=firestore.googleapis.com; servname=(null); cache_mode=(null), netid=0; mark=0
D/libc-netbsd(19630): [getaddrinfo]: ai_addrlen=0; ai_canonname=(null); ai_flags=1024; ai_family=0
D/libc-netbsd(19630): getaddrinfo: firestore.googleapis.com get result from proxy >>
I/System.out(19630): propertyValue:true
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...