Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/maven/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Firebase 颤振与振动;供应商及;身份验证:方法';isAuthenticate';被调用为空_Firebase_Flutter_Dart_Firebase Authentication - Fatal编程技术网

Firebase 颤振与振动;供应商及;身份验证:方法';isAuthenticate';被调用为空

Firebase 颤振与振动;供应商及;身份验证:方法';isAuthenticate';被调用为空,firebase,flutter,dart,firebase-authentication,Firebase,Flutter,Dart,Firebase Authentication,因此,我尝试将提供者、firebase身份验证和共享_首选项混合在一起。但它有点工作,但在它最终工作之前,它总是给我这个错误。这种方法有点让我适得其反。我做错了什么?请让我知道您的解决方案或意见 系统用户类 import 'package:shared_preferences/shared_preferences.dart'; class SystemUser { final String uid; List selectedPicture; SystemUser({ t

因此,我尝试将提供者、firebase身份验证和共享_首选项混合在一起。但它有点工作,但在它最终工作之前,它总是给我这个错误。这种方法有点让我适得其反。我做错了什么?请让我知道您的解决方案或意见

系统用户类

import 'package:shared_preferences/shared_preferences.dart';

class SystemUser {
  final String uid;
  List selectedPicture;

  SystemUser({
    this.uid,
  });

  // check for auth state and return corresponding value
  Future<bool> isAuthenticate() async {
    // you can implement shared prefereces
    SharedPreferences prefs = await SharedPreferences.getInstance();
    return prefs.getBool('authKey') ?? false;
  }

// // whenever you logged in the user just call
// prefs.setString('authKey', true);
}
import'package:shared_preferences/shared_preferences.dart';
类系统用户{
最后一个字符串uid;
列出所选图片;
系统用户({
这个.uid,
});
//检查验证状态并返回相应的值
Future isAuthenticate()异步{
//您可以实现共享首选项
SharedReferences prefs=等待SharedReferences.getInstance();
返回prefs.getBool('authKey')??false;
}
////无论何时登录用户,只要调用
//prefs.setString('authKey',true);
}
作用

Widget build(BuildContext context) {
    final user = Provider.of<SystemUser>(context);
    var width = MediaQuery.of(context).size.width;
    Utilities utilities = Utilities();
    print('User is $user');



    return FutureBuilder<bool>(
      future: Provider.of<SystemUser>(context).isAuthenticate(),
      builder: (context, AsyncSnapshot snapshot) {
        // while loading data
        if (snapshot.data == null) {
          return Loading();
        }
        // if has error
        if (snapshot.hasError) {
          return Text(snapshot.error.toString());
        }
        // retrieve data - check for authentication

        // authenticated, go to homescreen
        if (snapshot.data == true) {
          print('In HomeScreen');
          return NavigationWrapper();
        }
        // not authenticated, go to auth screen
        print('In Authenicate or Login');
        return Authenticate();
      },
    );


  }
小部件构建(构建上下文){
最终用户=提供者(上下文);
var width=MediaQuery.of(context).size.width;
实用工具=实用工具();
打印(“用户为$User”);
回归未来建设者(
future:Provider.of(context.isAuthenticate(),
生成器:(上下文,异步快照){
//加载数据时
如果(snapshot.data==null){
返回加载();
}
//如果有错误
if(snapshot.hasError){
返回文本(snapshot.error.toString());
}
//检索数据-检查身份验证
//已验证,请转到主屏幕
如果(snapshot.data==true){
打印(“在主屏幕中”);
返回NavigationWrapper();
}
//未通过身份验证,请转到身份验证屏幕
打印(“在授权或登录中”);
返回Authenticate();
},
);
}
错误消息

I/flutter (19065): After checking : Instance of 'SharedPreferences' and false
I/flutter (19065): Go to wrapper
I/flutter (19065): User is null
I/flutter (19065): ══╡ EXCEPTION CAUGHT BY WIDGETS LIBRARY ╞═══════════════════════════════════════════════════════════
I/flutter (19065): The following NoSuchMethodError was thrown building Wrapper(dirty, dependencies:
I/flutter (19065): [_InheritedProviderScope<SystemUser>, MediaQuery], state: _WrapperState#3473e):
I/flutter (19065): The method 'isAuthenticate' was called on null.
I/flutter (19065): Receiver: null
I/flutter (19065): Tried calling: isAuthenticate()
I/flutter (19065): 
I/flutter (19065): The relevant error-causing widget was:
I/flutter (19065):   Wrapper file:///Users/punreachrany/Desktop/Flutter/PhotoEarn/lib/screens/app_starter.dart:51:33
I/flutter (19065): 
I/flutter (19065): When the exception was thrown, this was the stack:
I/flutter (19065): #0      Object.noSuchMethod (dart:core-patch/object_patch.dart:51:5)
I/flutter (19065): #1      _WrapperState.build (package:PhotoEarn/screens/wrapper.dart:78:48)
I/flutter (19065): #2      StatefulElement.build (package:flutter/src/widgets/framework.dart:4744:28)
I/flutter (19065): #3      ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:4627:15)
I/flutter (19065): #4      StatefulElement.performRebuild (package:flutter/src/widgets/framework.dart:4800:11)
I/flutter (19065): #5      Element.rebuild (package:flutter/src/widgets/framework.dart:4343:5)
I/flutter (19065): #6      ComponentElement._firstBuild (package:flutter/src/widgets/framework.dart:4606:5)
I/flutter (19065): #7      StatefulElement._firstBuild (package:flutter/src/widgets/framework.dart:4791:11)
I/flutter (19065): #8      ComponentElement.mount (package:flutter/src/widgets/framework.dart:4601:5)
I/flutter (19065): ...     Normal element mounting (132 frames)
I/flutter (19065): #140    Element.inflateWidget (package:flutter/src/widgets/framework.dart:3569:14)
I/flutter (19065): #141    Element.updateChild (package:flutter/src/widgets/framework.dart:3327:18)
I/flutter (19065): #142    RenderObjectElement.updateChildren (package:flutter/src/widgets/framework.dart:5705:32)
I/flutter (19065): #143    MultiChildRenderObjectElement.update (package:flutter/src/widgets/framework.dart:6246:17)
I/flutter (19065): #144    Element.updateChild (package:flutter/src/widgets/framework.dart:3314:15)
I/flutter (19065): #145    ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:4652:16)
I/flutter (19065): #146    StatefulElement.performRebuild (package:flutter/src/widgets/framework.dart:4800:11)
I/flutter (19065): #147    Element.rebuild (package:flutter/src/widgets/framework.dart:4343:5)
I/flutter (19065): #148    StatefulElement.update (package:flutter/src/widgets/framework.dart:4832:5)
I/flutter (19065): #149    Element.updateChild (package:flutter/src/widgets/framework.dart:3314:15)
I/flutter (19065): #150    ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:4652:16)
I/flutter (19065): #151    Element.rebuild (package:flutter/src/widgets/framework.dart:4343:5)
I/flutter (19065): #152    ProxyElement.update (package:flutter/src/widgets/framework.dart:4987:5)
I/flutter (19065): #153    _InheritedNotifierElement.update (package:flutter/src/widgets/inherited_notifier.dart:183:11)
I/flutter (19065): #154    Element.updateChild (package:flutter/src/widgets/framework.dart:3314:15)
I/flutter (19065): #155    SingleChildRenderObjectElement.update (package:flutter/src/widgets/framework.dart:6125:14)
I/flutter (19065): #156    Element.updateChild (package:flutter/src/widgets/framework.dart:3314:15)
I/flutter (19065): #157    ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:4652:16)
I/flutter (19065): #158    StatefulElement.performRebuild (package:flutter/src/widgets/framework.dart:4800:11)
I/flutter (19065): #159    Element.rebuild (package:flutter/src/widgets/framework.dart:4343:5)
I/flutter (19065): #160    StatefulElement.update (package:flutter/src/widgets/framework.dart:4832:5)
I/flutter (19065): #161    Element.updateChild (package:flutter/src/widgets/framework.dart:3314:15)
I/flutter (19065): #162    SingleChildRenderObjectElement.update (package:flutter/src/widgets/framework.dart:6125:14)
I/flutter (19065): #163    Element.updateChild (package:flutter/src/widgets/framework.dart:3314:15)
I/flutter (19065): #164    SingleChildRenderObjectElement.update (package:flutter/src/widgets/framework.dart:6125:14)
I/flutter (19065): #165    Element.updateChild (package:flutter/src/widgets/framework.dart:3314:15)
I/flutter (19065): #166    ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:4652:16)
I/flutter (19065): #167    Element.rebuild (package:flutter/src/widgets/framework.dart:4343:5)
I/flutter (19065): #168    StatelessElement.update (package:flutter/src/widgets/framework.dart:4708:5)
I/flutter (19065): #169    Element.updateChild (package:flutter/src/widgets/framework.dart:3314:15)
I/flutter (19065): #170    ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:4652:16)
I/flutter (19065): #171    Element.rebuild (package:flutter/src/widgets/framework.dart:4343:5)
I/flutter (19065): #172    ProxyElement.update (package:flutter/src/widgets/framework.dart:4987:5)
I/flutter (19065): #173    Element.updateChild (package:flutter/src/widgets/framework.dart:3314:15)
I/flutter (19065): #174    ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:4652:16)
I/flutter (19065): #175    StatefulElement.performRebuild (package:flutter/src/widgets/framework.dart:4800:11)
I/flutter (19065): #176    Element.rebuild (package:flutter/src/widgets/framework.dart:4343:5)
I/flutter (19065): #177    BuildOwner.buildScope (package:flutter/src/widgets/framework.dart:2730:33)
I/flutter (19065): #178    WidgetsBinding.drawFrame (package:flutter/src/widgets/binding.dart:913:20)
I/flutter (19065): #179    RendererBinding._handlePersistentFrameCallback (package:flutter/src/rendering/binding.dart:302:5)
I/flutter (19065): #180    SchedulerBinding._invokeFrameCallback (package:flutter/src/scheduler/binding.dart:1117:15)
I/flutter (19065): #181    SchedulerBinding.handleDrawFrame (package:flutter/src/scheduler/binding.dart:1055:9)
I/flutter (19065): #182    SchedulerBinding._handleDrawFrame (package:flutter/src/scheduler/binding.dart:971:5)
I/flutter (19065): #186    _invoke (dart:ui/hooks.dart:251:10)
I/flutter (19065): #187    _drawFrame (dart:ui/hooks.dart:209:3)
I/flutter (19065): (elided 3 frames from dart:async)
I/flutter (19065): 
I/flutter (19065): ════════════════════════════════════════════════════════════════════════════════════════════════════
I/flutter (19065): User is Instance of 'SystemUser'
I/flutter (19065): In HomeScreen
W/Firestore(19065): (21.3.0) [Firestore]: Listen for Query(pictures where creator_uid == I1yM9QjCBkXMZUKuTlfNxrxnRTb2 order by -created_date, -__name__) failed: Status{code=FAILED_PRECONDITION, description=The query requires an index. You can create it here: https://console.firebase.google.com/v1/r/project/photo-earn/firestore/indexes?create_composite=Cktwcm9qZWN0cy9waG90by1lYXJuL2RhdGFiYXNlcy8oZGVmYXVsdCkvY29sbGVjdGlvbkdyb3Vwcy9waWN0dXJlcy9pbmRleGVzL18QARoPCgtjcmVhdG9yX3VpZBABGhAKDGNyZWF0ZWRfZGF0ZRACGgwKCF9fbmFtZV9fEAI, cause=null}
I/System.out(19065): com.google.firebase.firestore.FirebaseFirestoreException: FAILED_PRECONDITION: The query requires an index. You can create it here: https://console.firebase.google.com/v1/r/project/photo-earn/firestore/indexes?create_composite=Cktwcm9qZWN0cy9waG90by1lYXJuL2RhdGFiYXNlcy8oZGVmYXVsdCkvY29sbGVjdGlvbkdyb3Vwcy9waWN0dXJlcy9pbmRleGVzL18QARoPCgtjcmVhdG9yX3VpZBABGhAKDGNyZWF0ZWRfZGF0ZRACGgwKCF9fbmFtZV9fEAI
I/flatter(19065):检查后:“SharedReferences”实例和false
I/颤振(19065):转到包装器
I/颤振(19065):用户为空
I/颤振(19065):══╡ WIDGETS库捕获到异常╞═══════════════════════════════════════════════════════════
I/Flatter(19065):在构建包装器时抛出以下NoSuchMethodError(脏的,依赖项):
I/flatter(19065):[\u InheritedProviderScope,MediaQuery],状态:\u WrapperState\3473e):
I/flatter(19065):方法“isAuthenticate”在null上被调用。
I/颤振(19065):接收器:空
I/flatter(19065):尝试呼叫:isAuthenticate()
I/颤振(19065):
I/flatter(19065):导致错误的相关小部件是:
I/颤振(19065):包装器file:///Users/punreachrany/Desktop/Flutter/PhotoEarn/lib/screens/app_starter.dart:51:33
I/颤振(19065):
I/flatter(19065):当抛出异常时,这是堆栈:
I/颤振(19065):#0 Object.noSuchMethod(dart:核心补丁/Object_补丁。dart:51:5)
I/flatter(19065):#1_WrapperState.build(包:PhotoEarn/screens/wrapper.dart:78:48)
I/flatter(19065):#2 StatefulElement.build(包:flatter/src/widgets/framework.dart:4744:28)
I/flatter(19065):#3 ComponentElement.performRebuild(包:flatter/src/widgets/framework.dart:4627:15)
I/flatter(19065):#4 StatefulElement.performRebuild(包:flatter/src/widgets/framework.dart:4800:11)
I/flatter(19065):#5 Element.rebuild(包:flatter/src/widgets/framework.dart:4343:5)
I/flatter(19065):#6 ComponentElement._firstBuild(包:flatter/src/widgets/framework.dart:4606:5)
I/flatter(19065):#7 StatefulElement._firstBuild(包:flatter/src/widgets/framework.dart:4791:11)
I/flatter(19065):#8 ComponentElement.mount(包:flatter/src/widgets/framework.dart:4601:5)
I/颤振(19065):。。。正常元件安装(132个机架)
I/flatter(19065):#140 Element.inflateWidget(包:flatter/src/widgets/framework.dart:3569:14)
I/flatter(19065):141element.updateChild(包:flatter/src/widgets/framework.dart:3327:18)
I/flatter(19065):#142 RenderObjectElement.updateChildren(包:flatter/src/widgets/framework.dart:5705:32)
I/flatter(19065):143multi-childrenderobjectelement.update(包:flatter/src/widgets/framework.dart:6246:17)
I/flatter(19065):#144 Element.updateChild(包:flatter/src/widgets/framework.dart:3314:15)
I/flatter(19065):#145 ComponentElement.performRebuild(包:flatter/src/widgets/framework.dart:4652:16)
I/flatter(19065):146stateflement.performRebuild(包:flatter/src/widgets/framework.dart:4800:11)
I/flatter(19065):#147 Element.rebuild(包:flatter/src/widgets/framework.dart:4343:5)
I/flatter(19065):148statefulelement.update(包:flatter/src/widgets/framework.dart:4832:5)
I/flatter(19065):149element.updateChild(包:flatter/src/widgets/framework.dart:3314:15)
I/flatter(19065):#150 ComponentElement.performRebuild(包:flatter/src/widgets/framework.dart:4652:16)
I/flatter(19065):#151 Element.rebuild(包:flatter/src/widgets/framework.dart:4343:5)
I/flatter(19065):#152 ProxyElement.update(包:flatter/src/widgets/framework.dart:4987:5)
I/flatter(19065):#153 _inheritednotifiedrelation.update(包:flatter/src/widgets/inherited_notifier.dart:183:11)
I/flatter(19065):154element.updateChild(包:flatter/src/widgets/framework.dart:3314:15)
I/flatter(19065):#155 SingleChildRenderObjectElement.update(包:flatter/src/widgets/framework.dart:6125:14)
I/flatter(19065):#156 Element.updateChild(包:flatter/src/widgets/framework.dart:3314:15)
I/flatter(19065):#157 ComponentElement.performRebuild(包:flatter/src/widgets/framework.dart:4652:16)
I/flatter(19065):#158 stateflement.performRebuild(包:flatter/src/widgets/framework.dart:4800:11)
I/flatter(19065):#159 Element.rebuild(包:flatter/src/widgets/framework.dart:4343:5)
I/颤振(1