从 Android Studio 中的片段将数据写入 Firebase

Posted

技术标签:

【中文标题】从 Android Studio 中的片段将数据写入 Firebase【英文标题】:Writing data to Firebase from a fragment in Android Studio 【发布时间】: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 文件中都安装了所有必要的依赖项。

【问题讨论】:

【参考方案1】:

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

FirebaseApp.initializeApp(this);

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

FirebaseApp.initializeApp(getActivity());

【讨论】:

感谢您的帮助,我尝试使用这两个选项,但没有成功! 奇怪!您是否在日志中看到任何说明初始化不成功的内容?如果是这种情况,您可以考虑检查这个答案 - ***.com/a/37901548/3145960 没有。没有与 FirebaseInitProvider 标签相关的日志 所以,我发现问题在于我错过了在模块级 gradle 文件中应用一个插件。

以上是关于从 Android Studio 中的片段将数据写入 Firebase的主要内容,如果未能解决你的问题,请参考以下文章

通过片段之间的导航传递数据android studio

Android Studio - 在片段之间更改时底部导航崩溃

在 android studio kotlin 中将数据从活动传递到片段(不重复,这些方法不起作用)

如何将本地存储中的 JSON 对象添加到 Android Studio 上的片段列表

通过按下 Android Studio 中的片段中的按钮进入新页面

Android Studio - 片段按钮操作