亲爱的,我正在尝试初始化与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但是相同
由于
答案 0 :(得分:1)
您不应该以这种方式使用google-services.json在Android应用中使用Firebase数据库。该文件仅在您按照these instructions设置应用后的构建时使用。在应用程序本身内永远不会引用。
我还注意到你正在创建一个FirebaseOptions实例,但是你没有做任何事情。实际上,您通常不必在Android应用中创建FirebaseOptions对象。通常情况下,如果您尝试从其他服务器访问Firebase,则需要将FirebaseOptions与服务帐户一起使用。您可以使用these instructions执行此操作。