检查字段数据是否更改,而不是子数据中的任何字段



我可以检查作为我的参考的任何子级数据是否发生了变化没有问题,但我找不到一种方法来检查该子级中的某个字段是否已更改。

这是一些代码,.child("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"
    }
  }

我想检查作业字段是否更改,因为坐标字段无论如何都会不断更改。

您在reference上正确使用了addValueEventListener(),但您不需要该for loop。您的DataSnapshot已经在 job child 上,其中键job,值为:none 。因此,您需要删除迭代。希望对您有所帮助。

相关内容

  • 没有找到相关文章

最新更新