android - 在哪里放置 Firebase.setAndroidContext() 函数

标签 android firebase

我正在尝试使用 Firebase 和 Android。
我有一个 RegisterActivity 和一个 MainActivity。 我当前的流程是 - 从 MainActivity 开始 - 检查用户是否注册,如果没有,调用 RegisterActivity - 注册后调用 MainActivity

我无法确定将 Firebase.setAndroidContext() 调用放在哪里。
我有两个问题:

  1. 我应该只在 Application 中调用此函数一次还是在每个 Activty 中调用一次?
  2. 如果问题 1 的答案只有一次,那么我应该把它放在哪里?

谢谢大家 乔拉。

最佳答案

引用(第 4 步)Firebase quickstart documentation :

The Firebase library must be initialized once with an Android Context. This must happen before any Firebase reference is created or used.

创建MyApplication.java:

public class MyApplication extends android.app.Application {

    @Override
    public void onCreate() {
        super.onCreate();

        //Previous versions of Firebase
        Firebase.setAndroidContext(this);

        //Newer version of Firebase
        if(!FirebaseApp.getApps(this).isEmpty()) {
            FirebaseDatabase.getInstance().setPersistenceEnabled(true);
        }
    }
}

并更新 AndroidManifest.xml 中的 name 参数值:

<application 
        android:label="@string/app_name"
        android:name=".MyApplication">
...
</application>

关于android - 在哪里放置 Firebase.setAndroidContext() 函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30138017/

相关文章:

android - 当网站由多个应用程序处理时如何创建 assetlinks.json

java - 使用未指定的索引

javascript - Firebase 实时数据库一次更新多个节点

android - 如何在Android map 上叠加png图片并指定四个 anchor

android - "Hello World"Android 应用程序出现问题

firebase - 文档在 Firestore 中被删除后出现

android - 如何使用 firebase 数据库引用在 android studio 中创建带有代码的节点

database - Firestore 20000 个字段限制的问题

android - 是否可以使用 Intent 设置允许进行 android 录制的最长时间?

java - 检查 Android 中另一个线程中的任务是否已经完成