【问题标题】:Writing data to Firebase from a fragment in Android Studio从 Android Studio 中的片段将数据写入 Firebase
【发布时间】:2021-01-15 11:44:48
【问题描述】:

所以,我有一个片段类,我正在尝试使用onCreateView() 方法中的以下代码将数据写入 Firebase 实时数据库,

databaseReference = FirebaseDatabase.getInstance().getReference("CollectionName");
String id = databaseReference.push().getKey();
databaseReference.child(id).setValue(new myModel(param1, param2));

运行此代码后,每当我尝试写入数据时,都会出现以下错误:

默认 FirebaseApp 未在此进程 中初始化。请务必先调用 FirebaseApp.initializeApp(Context)。

此错误指向我尝试从 firebase 获取实例的行。

现在,我尝试了很多方法,例如在 onCreate() 方法中使用以下语句,

FirebaseApp.initializeApp(MainActivity.getContext());

这里,MainActivity 是加载此片段的类。

此外,我的模块级别和项目级别 gradle 文件中都安装了所有必要的依赖项。

【问题讨论】:

    标签: android firebase android-fragments firebase-realtime-database


    【解决方案1】:

    我认为您可以使用以下方法在 MainActivityonCreate 函数中初始化 Firebase。

    FirebaseApp.initializeApp(this);
    

    如果您想从片段中初始化它,您可以在调用FirebaseDatabase.getInstance() 之前在onCreateView 中执行此操作。

    FirebaseApp.initializeApp(getActivity());
    

    【讨论】:

    • 感谢您的帮助,我尝试使用这两个选项,但没有成功!
    • 奇怪!您是否在日志中看到任何说明初始化不成功的内容?如果是这种情况,您可以考虑检查这个答案 - stackoverflow.com/a/37901548/3145960
    • 没有。没有与 FirebaseInitProvider 标签相关的日志
    • 所以,我发现问题在于我错过了在模块级 gradle 文件中应用一个插件。
    猜你喜欢
    • 1970-01-01
    • 2017-05-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-11-17
    • 2021-05-20
    • 2018-05-08
    • 1970-01-01
    相关资源
    最近更新 更多