Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/firebase/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android中的多个公共Firebase数据库实例_Android_Firebase_Firebase Realtime Database_Firebase Authentication - Fatal编程技术网

Android中的多个公共Firebase数据库实例

Android中的多个公共Firebase数据库实例,android,firebase,firebase-realtime-database,firebase-authentication,Android,Firebase,Firebase Realtime Database,Firebase Authentication,我正在做一项任务。我必须使用“黑客新闻”提供商提供的数据库。我还必须使用Firebase身份验证。我在自己的帐户中设置了一个新项目。从黑客新闻数据库中检索数据的方法如下。我能够使用firebase child()API获取公开访问的数据 但当我实现Firebase身份验证时,一旦用户登录,它就会给出错误消息 提供的身份验证凭据无效。这通常表示FirebaseApp实例未正确初始化。确保您的google-services.json文件具有正确的firebase_url和api_密钥 我花了很多时间

我正在做一项任务。我必须使用“黑客新闻”提供商提供的数据库。我还必须使用Firebase身份验证。我在自己的帐户中设置了一个新项目。从黑客新闻数据库中检索数据的方法如下。我能够使用firebase child()API获取公开访问的数据

但当我实现Firebase身份验证时,一旦用户登录,它就会给出错误消息

提供的身份验证凭据无效。这通常表示FirebaseApp实例未正确初始化。确保您的google-services.json文件具有正确的firebase_url和api_密钥

我花了很多时间在互联网上,找到了一个链接,可以在一个项目中实现多个数据库-

仅当您是这些数据库的所有者时,此操作才有效。我是否可以使用SDK而不是REST-API访问黑客新闻数据库?

FirebaseOptions=new FirebaseOptions.Builder()
        FirebaseOptions options = new FirebaseOptions.Builder()
                        .setDatabaseUrl(getResources().getString(R.string.dbURL))
                        .setApiKey(getResources().getString(R.string.api))
                        .setApplicationId(getResources().getString(R.string.appID))
                        .setProjectId(getResources().getString(R.string.projectId))
                        .setStorageBucket(getResources().getString(R.string.storageBucket)).build();
//set all variable above as your need

        boolean hasBeenInitialized=false;
                List<FirebaseApp> fireBaseApps = FirebaseApp.getApps(getApplicationContext());
                for(FirebaseApp app : fireBaseApps){
                    if(app.getName().equals("any_name")){
                        hasBeenInitialized=true;

                    }
                }

                if (!hasBeenInitialized) {
                    smaTeacher = FirebaseApp.initializeApp(this, options, "any_name");

                }
    database=FirebaseDatabase.getInstance(FirebaseApp.getInstance("any_name"));
.setDatabaseUrl(getResources().getString(R.string.dbURL)) .setApiKey(getResources().getString(R.string.api)) .setApplicationId(getResources().getString(R.string.appID)) .setProjectId(getResources().getString(R.string.projectId)) .setStorage Bucket(getResources().getString(R.string.storageBucket)).build(); //根据需要设置上述所有变量 布尔hasBeenInitialized=false; 列出fireBaseApps=fireBaseApps.getApps(getApplicationContext()); 用于(FirebaseApp应用程序:FirebaseApp){ 如果(app.getName().equals(“任意_名称”)){ hasBeenInitialized=true; } } 如果(!hasBeenInitialized){ smaTeacher=FirebaseApp.initializeApp(此选项为“任意名称”); } database=FirebaseDatabase.getInstance(FirebaseApp.getInstance(“任意_名称”));
我遇到了这个解决方案,但我所拥有的只是数据库URl,我没有黑客新闻的其他参数(projectId等),如果您只是省略其他值,只使用FirebaseOptions builder中的数据库URl会怎么样?我也试过了。它向我抛出了一个错误,即projectId是必需的。
        FirebaseOptions options = new FirebaseOptions.Builder()
                        .setDatabaseUrl(getResources().getString(R.string.dbURL))
                        .setApiKey(getResources().getString(R.string.api))
                        .setApplicationId(getResources().getString(R.string.appID))
                        .setProjectId(getResources().getString(R.string.projectId))
                        .setStorageBucket(getResources().getString(R.string.storageBucket)).build();
//set all variable above as your need

        boolean hasBeenInitialized=false;
                List<FirebaseApp> fireBaseApps = FirebaseApp.getApps(getApplicationContext());
                for(FirebaseApp app : fireBaseApps){
                    if(app.getName().equals("any_name")){
                        hasBeenInitialized=true;

                    }
                }

                if (!hasBeenInitialized) {
                    smaTeacher = FirebaseApp.initializeApp(this, options, "any_name");

                }
    database=FirebaseDatabase.getInstance(FirebaseApp.getInstance("any_name"));