【问题标题】:google-services.json: open failed: ENOENT (No such file or directory)google-services.json:打开失败:ENOENT(没有这样的文件或目录)
【发布时间】:2016-10-22 16:07:39
【问题描述】:

亲爱的,我正在尝试初始化我与 Google Firebase 的连接

 try{
            Firebase.setAndroidContext(this);
            start = new Firebase("https://mymarket-c2448.firebaseio.com/name");
            FirebaseOptions options = new FirebaseOptions.Builder()
        .setDatabaseUrl("https://mymarket-c2448.firebaseio.com")
        .setServiceAccount(new FileInputStream("google-services.json"))
        .build();
       FirebaseDatabase database = FirebaseDatabase.getInstance();
        DatabaseReference myRef = database.getReference("name");

        myRef.push().setValue("This is first Test");
        myRef.setValue("This is Test");

        myRef.addValueEventListener(new ValueEventListener() {

            @Override
            public void onDataChange(DataSnapshot snapshot) {
                // TODO Auto-generated method stub
                boolean connected = snapshot.getValue(Boolean.class);
                if (connected) {
                    Toast.makeText(getApplicationContext(), "connected", Toast.LENGTH_LONG).show();

                    System.out.println("connected");
                } else {
                    Toast.makeText(getApplicationContext(), "not_connected", Toast.LENGTH_LONG).show();

                    System.out.println("not connected");
                }


            }

            @Override
            public void onCancelled(DatabaseError arg0) {
                // TODO Auto-generated method stub

            }
        });
        }
        catch (Exception e){
            //Toast.makeText(getApplicationContext(), e.getMessage(), Toast.LENGTH_LONG).show();
            System.out.println("Error1"+e.getMessage());
        }

但在运行时出现此错误

10-22 19:05:09.598: I/System.out(5899): Error1google-services.json: open failed: ENOENT (No such file or directory)

我试过了

this.getassets().open("google-services.json") 而不是 FileInputStreem 但相同

谢谢

【问题讨论】:

  • 这个文件google-services.json在你的项目中在哪里?
  • 它在主目录 /MyMarket/google-services.json
  • 把它放在你的应用目录中。
  • 到底在哪个目录,我试着把它放在assests中,但还是一样
  • 显示项目结构的屏幕截图。

标签: java android json firebase firebase-realtime-database


【解决方案1】:

您不应该以这种方式使用 google-services.json 在 Android 应用中使用 Firebase 数据库。该文件仅在您关注these instructions 设置您的应用程序后在构建时使用。它从不在应用程序内部被引用。

我还注意到您正在创建一个 FirebaseOptions 实例,但您没有对它做任何事情。事实上,您通常不必在 Android 应用程序中创建 FirebaseOptions 对象。您需要将 FirebaseOptions 与服务帐户一起使用的通常情况是,如果您尝试从另一台服务器访问 Firebase。你可以使用these instructions 来做到这一点。

【讨论】:

  • 非常感谢您的有用回复。因为我想从我的应用程序写入我的数据库,所以我执行了您共享的链接中的所有步骤,并且我从那里获得了 JSON 文件(配置文件),如果我尝试使用“FirebaseDatabase 数据库 = FirebaseDatabase.getInstance();”直接然后我会收到此错误“名称为 [DEFAULT] 的 FirebaseApp 不存在。”那么我该怎么做呢?关于 FirebaseOptions 我将它与 Firebase.inizlize(options) 一起使用
  • 您不应该初始化 Firebase - 它不是我链接到的集成步骤的一部分。默认情况下会为您进行初始化。只有当你需要做一些默认 init 无法处理的特殊操作时,你才调用 initialize。
  • 如何确保集成正常或我的代码在正确的位置?请指教。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-08-23
  • 2016-07-05
  • 2013-02-04
相关资源
最近更新 更多