首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用带Flutter的Firebase数据库的权限被拒绝?

使用带Flutter的Firebase数据库的权限被拒绝?
EN

Stack Overflow用户
提问于 2020-07-19 08:54:28
回答 3查看 1.3K关注 0票数 0

我正在学习使用Firebase,我想使用firebase数据库执行Crud操作。

Firebase规则是:

代码语言:javascript
复制
    "rules": {
    ".read": true,
    ".write": true
  }

代码语言:javascript
复制
import 'package:flutter/material.dart';
import 'package:firebase_database/firebase_database.dart';
void main() {
  runApp(MyApp());
}

class MyApp extends StatelessWidget {
  // This widget is the root of your application.
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      theme: ThemeData(

        primarySwatch: Colors.red,
        // This makes the visual density adapt to the platform that you run
        // the app on. For desktop platforms, the controls will be smaller and
        // closer together (more dense) than on mobile platforms.
        visualDensity: VisualDensity.adaptivePlatformDensity,
      ),
      home: FirebaseDemoScreen(),
    );
  }
}

class FirebaseDemoScreen extends StatelessWidget  {
  final databaseReference = FirebaseDatabase.instance.reference();
  @override
  Widget build(BuildContext context) {
    // TODO: implement build
    return  Scaffold(
      appBar: AppBar(
        title: Text('Firebase Connect'),
      ),
      body: Center(
          child: Column(
            crossAxisAlignment: CrossAxisAlignment.stretch,
            children: <Widget>[

              RaisedButton(
                child: Text('Create Record'),
                onPressed: () {
                  createRecord();
                },
              ),

              RaisedButton(
                child: Text('View Record'),
                onPressed: () {
                  getData();
                },
              ),
              RaisedButton(
                child: Text('Update Record'),
                onPressed: () {
                  updateData();
                },
              ),
              RaisedButton(
                child: Text('Delete Record'),
                onPressed: () {
                  deleteData();
                },
              ),
            ],
          )
      ), //center
    );
  }



void createRecord(){
  databaseReference.child("1").set({
    'title': 'Mastering EJB',
    'description': 'Programming Guide for J2EE'
  });
  databaseReference.child("2").set({
    'title': 'Flutter in Action',
    'description': 'Complete Programming Guide to learn Flutter'
  });
}
void getData(){
  databaseReference.once().then((DataSnapshot snapshot) {
    print('Data : ${snapshot.value}');
  });
}

void updateData(){
  databaseReference.child('1').update({
    'description': 'J2EE complete Reference'
  });
}

void deleteData(){
  databaseReference.child('1').remove();
}
}

它导致一个错误:

错误:flutter/lib/ui/ui_dart_state.cc(166)未处理异常: PlatformException(-3,权限被拒绝),)E/颤振(31408):#0 (package:flutter/src/services/message_codecs.dart:569:7) E/颤振(31408):#1 MethodChannel._invokeMethod (package:flutter/src/services/platform_channel.dart:159:18) E/颤振(31408):E/颤振(31408):#2 MethodChannel.invokeMethod (package:flutter/src/services/platform_channel.dart:332:12) E/颤振(31408):#3 (package:firebase_database/src/database_reference.dart:74:31) E/ DatabaseReference.set (31408):#4 FirebaseDemoScreen.createRecord (包:FirebaseDemoScreen.createRecord/main.dart:77:32)E/DatabaseReference.set (31408):#5 FirebaseDemoScreen.build。(包装:学习/主要。飞镖:42:19)E/ _InkResponseState._handleTap (31408):#6 _InkResponseState._handleTap _InkResponseState.build E/颤振(31408):#7 _InkResponseState.build。(package:flutter/src/material/ink_well.dart:1059:38) E/颤振(31408):#8 (package:flutter/src/gestures/recognizer.dart:182:24) E/颤振(31408):#9 TapGestureRecognizer.handleTapUp (package:flutter/src/gestures/tap.dart:522:11) E/颤振(31408):#10 BaseTapGestureRecognizer._checkUp (包装:颤振/src/手势/踢踏舞:282:5)E/颤振(31408):#11 (package:flutter/src/gestures/recognizer.dart:475:9) BaseTapGestureRecognizer.handlePrimaryPointer (包装:颤振/src/手势/踢踏舞:217:7)E/颤振(31408):#12 PrimaryPointerGestureRecognizer.handleEvent BaseTapGestureRecognizer.handlePrimaryPointer/颤振(31408):#13 PointerRouter._dispatch PointerRouter._dispatchEventToRoutes E/颤振(31408):#14 PointerRouter._dispatchEventToRoutes。(package:flutter/src/gestures/pointer_router.dart:122:9) E/颤振(31408):#15 _LinkedHashMapMixin.forEach (dart:collection-patch/compact_hash.dart:377:8) E/颤振(31408):#16 PointerRouter._dispatchEventToRoutes (package:flutter/src/gestures/pointer_router.dart:120:18) E/颤振(31408):#17 PointerRouter.route (package:flutter/src/gestures/pointer_router.dart:106:7)E/颤振(31408):#18 (package:flutter/src/gestures/binding.dart:218:19) E/颤振(31408):#19 GestureBinding.dispatchEvent (package:flutter/src/gestures/binding.dart:198:22) E/颤振(31408):#20 GestureBinding._handlePointerEvent (package:flutter/src/gestures/binding.dart:156:7) E/颤振(31408):#21 GestureBinding._flushPointerEventQueue (包装:GestureBinding.dispatchEvent/src)/手势/绑定。飞镖:102:7)E/颤振(31408):#22 (package:flutter/src/gestures/binding.dart:86:7) E/颤振(31408):#23 _rootRunUnary (飞镖:异步/zone.dart:1206:13)E/ _CustomZone.runUnary (31408):#24 _CustomZone.runUnary(飞镖:1100:19)E/颤振(31408):#25 _CustomZone.runUnaryGuarded (飞镖:异步)/zone.dart:1005:7) E/颤振(31408):#26 _invoke1 (飞镖:ui/钩子:10)E/颤振(31408):#27 _dispatchPointerDataPacket (飞镖:ui/钩子:190:5)

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2020-07-21 06:02:47

解决了问题--我刚刚更新了Android,然后我重新启动了一次失效缓存并重新启动了android,现在它为我工作了。

误差

代码语言:javascript
复制
 plugin project :firebase_core_web not found

虽然还存在错误,但与防火墙的数据库连接是用相同的代码和防火墙规则构建的。

票数 1
EN

Stack Overflow用户

发布于 2020-07-19 09:06:22

使规则测试模式为try 1:https://i.stack.imgur.com/Xeeis.png

票数 2
EN

Stack Overflow用户

发布于 2020-07-19 12:48:47

您可能试图访问错误的位置,请检查您要访问的数据库。

mentioned.

  • There
  1. 转到蓝色标头
  2. 上的"Database“选项,您会发现一个下拉列表,其中表示CloudFi还原Beta将其更改为”实时数据库“
  3. 转到规则并将.write .read设置为true

https://github.com/firebase/quickstart-js/issues/239#issuecomment-417862631

https://github.com/firebase/quickstart-js/issues/239#issuecomment-465989989

如果上一个问题没有对你起作用,你可以参考这个问题来获得更多的答案。

https://github.com/firebase/quickstart-js/issues/239

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/62978161

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档