从 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】:我认为您可以使用以下方法在 MainActivity
的 onCreate
函数中初始化 Firebase。
FirebaseApp.initializeApp(this);
如果您想从片段中初始化它,您可以在调用FirebaseDatabase.getInstance()
之前在onCreateView
中执行此操作。
FirebaseApp.initializeApp(getActivity());
【讨论】:
感谢您的帮助,我尝试使用这两个选项,但没有成功! 奇怪!您是否在日志中看到任何说明初始化不成功的内容?如果是这种情况,您可以考虑检查这个答案 - ***.com/a/37901548/3145960 没有。没有与 FirebaseInitProvider 标签相关的日志 所以,我发现问题在于我错过了在模块级 gradle 文件中应用一个插件。以上是关于从 Android Studio 中的片段将数据写入 Firebase的主要内容,如果未能解决你的问题,请参考以下文章
Android Studio - 在片段之间更改时底部导航崩溃
在 android studio kotlin 中将数据从活动传递到片段(不重复,这些方法不起作用)
如何将本地存储中的 JSON 对象添加到 Android Studio 上的片段列表