android,firebase-更新firebase值更改的android视图
我正在制作一个与firebase通信的android应用程序 我的问题很棘手,我能够读取子元素的值,但当我在数据库中更新它时,无法看到子元素的更新值 这是我的JAVA代码:android,firebase-更新firebase值更改的android视图,android,firebase,firebase-realtime-database,Android,Firebase,Firebase Realtime Database,我正在制作一个与firebase通信的android应用程序 我的问题很棘手,我能够读取子元素的值,但当我在数据库中更新它时,无法看到子元素的更新值 这是我的JAVA代码: public class fireDemo extends AppCompatActivity { public interface blaze { // Write a message to the database FirebaseDatabase database = Fire
public class fireDemo extends AppCompatActivity {
public interface blaze
{
// Write a message to the database
FirebaseDatabase database = FirebaseDatabase.getInstance();
DatabaseReference myRef = database.getReference("input");
}
private TextView display;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_fire_demo);
display = findViewById(R.id.display);
myRef.addListenerForSingleValueEvent(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
String change = dataSnapshot.getValue(String.class);
display.setText(change);
}
@Override
public void onCancelled(DatabaseError databaseError) {
}
});
}
}
使用此选项,我可以在子元素中看到值,但在firebase online中更新时无法看到更新后的值。因为您使用了
addListenerForSingleValueEvent
它会给您一次值
使用addValueEventListener
,只要值发生任何更改,就会调用它
myRef.addValueEventListener(new ValueEventListener() {
}
因为您使用了
addListenerForSingleValueEvent
,所以它会给您一次值
使用addValueEventListener
,只要值发生任何更改,就会调用它
myRef.addValueEventListener(new ValueEventListener() {
}