我正在通过Firebase查询以提取数据并将其设置为文本视图,但是结果不同。
databaseReference = FirebaseDatabase.getInstance().getReference("tables");
query = databaseReference.child("restaurantID").orderByChild("tableID").equalTo(tableID);
tableDatabaseReference = FirebaseDatabase.getInstance().getReference("tables");
tableNameQuery = tableDatabaseReference.child("tableName").orderByChild("tableID").equalTo(tableID);
tableNameTextView.setText(tableNameQuery.toString());
它没有显示任何错误,但文本视图显示为com.google.firebase.database.Query@c1d4fdd
请帮助。
答案 0 :(得分:0)
您实际上并不是在对数据库执行查询。您的所有代码所要做的就是获取tableDatabaseReference.child(...).orderByChild(...).equalTo(...)
返回的Query对象并将该对象转换为String。您将看到Java对象默认表示为String。
您应该遵循doucmentation for querying Realtime Database才能获取实际数据。您将需要在查询上附加一个侦听器以从中获取数据。例如,从文档中:
@Override public void onDataChange(DataSnapshot dataSnapshot) { for (DataSnapshot postSnapshot: dataSnapshot.getChildren()) { // TODO: handle the post } } @Override public void onCancelled(DatabaseError databaseError) { // Getting Post failed, log a message Log.w(TAG, "loadPost:onCancelled", databaseError.toException()); // ... } }); ```