从数据库中获取价值,而不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();

}

});

}

它工作正常当我调用它时,只要数据库发生更改就会触发它。我想是因为无效onDataChangeValueEventListener

我徘徊,如果有其他方法调用DataSnapshot。

回答:

要仅从数据库中读取数据一次而没有收到更新通知,请将您的听众注册为addListenerForSingleValueEvent。所以:

DatabaseReference.addListenerForSingleValueEvent(new ValueEventListener() { 

这和更多的是在Firebase documentation on reading data from the database解释。

以上是 从数据库中获取价值,而不EvenListener 的全部内容, 来源链接: utcz.com/qa/263890.html

回到顶部