作者:林啾啾 | 来源:互联网 | 2023-02-07 12:51
我可以检查是否有任何我参考的孩子的数据没有变化没有问题,但我无法找到一种方法来检查该孩子中某个字段是否发生了变化.
这里有一些代码.child("job")不起作用,因为job是字段.这只是我尝试的一些事情.
Firebase ref = new Firebase(Config.FIREBASE_URL);
//adding a value event listener so if data in database changes it does in textview also not needed at the minute
ref.child("Driver").child("Driver2").child("job").addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot snapshot) {
for (DataSnapshot postSnapshot : snapshot.getChildren()) {
Toast.makeText(ProfileActivity.this, "YEAAA ", Toast.LENGTH_SHORT).show();
}
}
/************had to implement this method****************/
@Override
public void onCancelled(FirebaseError firebaseError) {
System.out.println("The read failed: " + firebaseError.getMessage());
}
});
这是数据库中的json
"Driver" : {
"Driver1" : {
"job" : "none",
"lat" : 53.4013419,
"lon" : -111.803055,
"name" : "JOHNNY"
},
"Driver2" : {
"job" : "job",
"lat" : 53.4012956,
"lon" : -6.4091191,
"name" : "MICK"
},
"Driver3" : {
"job" : "cccc",
"lat" : 45.815399,
"lon" : 15.966568,
"name" : "Boris"
}
}
我想检查作业字段是否发生变化,因为坐标字段无论如何都会不断变化.
1> Alex Mamo..:
您正在使用正确addValueEventListener()
的reference
,但你并不需要那个for loop
.你DataSnapshot
已经在job child
,其中键是job
,值是:none
.所以你需要删除迭代.希望能帮助到你.