Here I compare x and y variables with my Firebase database. If i find the right result I want to return the key.
private String checkParkeer() {
final Integer parkX = 4;
final Integer parkY = 1;
final String[] result = new String[1];
final FirebaseDatabase database = FirebaseDatabase.getInstance();
final DatabaseReference ref = database.getReference("parkeerpaal");
ref.addValueEventListener(new ValueEventListener(){
@Override
public void onDataChange(DataSnapshot dataSnapshot){
for (DataSnapshot snapshot : dataSnapshot.getChildren()){
Log.d("test", snapshot.getKey());
Integer newX = Integer.parseInt(snapshot.child("x").getValue().toString());
Integer newY = Integer.parseInt(snapshot.child("y").getValue().toString());
if (newX <= parkX+2 && newX >= parkX-2) {
if (newY <= parkY + 2 && newY >= parkY - 2) {
result[0] = snapshot.getKey();
}
}
break;
}
}
@Override
public void onCancelled(DatabaseError databaseError) {
}
});
Log.d("result", result[0]);
return result[0];
}
Now the Log.d("test", snapshot.getKey());
logs "P1" (this is the result I need)
But when I put it in result, Log.d("result", result[0]);
or return result[0];
give errors.
This is my first time doing this stuff. how do I resolve this? what am I doing wrong?