从数据库中获取价值,而不EvenListener
我怎样才能让一个空隙从数据库中获得一些价值,但不刷新此数据,每次对数据库的修改,这是无效我:从数据库中获取价值,而不EvenListener
private void getUser() { userInformationsList.clear();
DatabaseReference.addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
FirebaseUser user = mAuth.getCurrentUser();
userID = user.getUid();
nameID = dataSnapshot.child("Users").child(userID).child("name").getValue(String.class);
Lat = dataSnapshot.child("Users").child(userID).child("Coordenates/Rute/Lat").getValue(String.class);
Lng = dataSnapshot.child("Users").child(userID).child("Coordenates/Rute/Lng").getValue(String.class);
DataSnapshot dS = dataSnapshot.child("Coordenate").child(Lat).child(Lng);
toolbar.setTitle(nameID);
for(DataSnapshot Ds : dS.getChildren()) {
Object key = Ds.getKey();
String StringKey = String.valueOf(key);
getname(StringKey);
}
}
@Override
public void onCancelled(DatabaseError databaseError) {
Toast.makeText(SearchActivity.this,"Error 404",Toast.LENGTH_SHORT).show();
}
});
}
它工作正常当我调用它时,只要数据库发生更改就会触发它。我想是因为无效onDataChange
或ValueEventListener
。
我徘徊,如果有其他方法调用DataSnapshot。
回答:
要仅从数据库中读取数据一次而没有收到更新通知,请将您的听众注册为addListenerForSingleValueEvent
。所以:
DatabaseReference.addListenerForSingleValueEvent(new ValueEventListener() {
这和更多的是在Firebase documentation on reading data from the database解释。
以上是 从数据库中获取价值,而不EvenListener 的全部内容, 来源链接: utcz.com/qa/263890.html