获取数据库时无效的Firebase Path错误

时间:2017-04-18 07:46:15

标签: android firebase firebase-realtime-database

我正在使用Firebase进行身份验证和实时数据库。我的身份验证代码已成功运行,我的输入值也运行到数据库代码,但是当我在数据库中编写获取值时,我在运行时错误尝试在Firebase数据库中输入值:

FATAL EXCEPTION: main
Process:com.xxx.xxx, PID: 22601
com.google.firebase.database.DatabaseException: Invalid Firebase Database 
path: https://xxx-exxe.firebaseio.com/. Firebase Database paths must not contain '.', '#', '$', '[', or ']'

我的代码是:

final FirebaseDatabase database = FirebaseDatabase.getInstance();
DatabaseReference reference = database.getReference("https://korsa-e03ae.firebaseio.com/");

reference.addValueEventListener(new com.google.firebase.database.ValueEventListener() {
    @Override
    public void onDataChange(com.google.firebase.database.DataSnapshot dataSnapshot) {
        Offerride user = dataSnapshot.getValue(Offerride.class);

        if (user == null){
            Toast.makeText(getContext(),"User data is null!",Toast.LENGTH_LONG).show();
            return;
        }

        tvsource.setText(user.source + " , " + user.destination + " , " + user.startDate + " , " + user.startTime);

    }

    @Override
    public void onCancelled(DatabaseError databaseError) {
        Toast.makeText(getContext(), "Failefddd", Toast.LENGTH_LONG).show();
    }
});

3 个答案:

答案 0 :(得分:3)

我认为答案很明显,您不需要具体 s_code amount1 amount2 month1 month2 year e_name abc 3847 20938 1 2 2016 john xyz 2838 29384 1 2 2016 david ,因为在您设置项目时,应用已经链接到url

改变

database

DatabaseReference reference = database.getReference("https://korsae03ae.firebaseio.com/"); 然后它应该工作

答案 1 :(得分:0)

您的数据库的网址位于google-services.json文件中。 通过firebase文档https://firebase.google.com/docs/database/admin/retrieve-data来读取数据,您可以执行以下操作:

final FirebaseDatabase database = FirebaseDatabase.getInstance();
DatabaseReference ref = database.getReference("posts");

// Attach a listener to read the data at our posts reference
ref.addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
    Post post = dataSnapshot.getValue(Post.class);
    System.out.println(post);
}

@Override
public void onCancelled(DatabaseError databaseError) {
    System.out.println("The read failed: " + databaseError.getCode());
}
});

答案 2 :(得分:0)

使用getReferanceFromUrl而不是使用getReferance。 在你的情况下:database.getReference.child(" posts");