Reputation: 655
I have below Firebase database Structure.From this I need to extract d_avtr, d_nme,v_No,v_nme,v_tpe
value Separately against key is equal to specific mobile no
to save in variable separately
I have tried this
String Mobileno=localSharedPreferences.getSharedPreferences(Constants.PhoneNumber);
mDatabase= FirebaseDatabase.getInstance().getReference().child("Driver");
if(mDatabase.getKey().startsWith(Mobileno)) {
String driver_name = mDatabase.child("d_nme").toString();
String driver_avator = mDatabase.child("d_avtr").toString();
String vehicle_no = mDatabase.child("v_No").toString();
String vehicle_name = mDatabase.child("v_nme").toString();
String vehicle_type = mDatabase.child("v_tpe").toString();
String firstname = driver_name;
String lastname = vehicle_name;
String avatorurl = driver_avator;
String ratings = vehicle_no;
}
But its not working.How can I achieve this
Upvotes: 0
Views: 933
Reputation: 80952
To retrieve the values, you need to do the following:
DatabaseReference reference = FirebaseDatabase.getInstance().getReference("Driver");
reference.orderByKey().equalTo("1815000000").addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
for(DataSnapshot datas: dataSnapshot.getChildren()){
String driver_name = datas.child("d_nme").getValue(String.class);
String driver_avator = datas.child("d_avtr").getValue(String.class);
String vehicle_no = datas.child("v_No").getValue(String.class);
String vehicle_name = datas.child("v_nme").getValue(String.class);
String vehicle_type = datas.child("v_tpe").getValue(String.class);
}
}
@Override
public void onCancelled(DatabaseError databaseError) {
throw databaseError.toException();
}
});
First add reference to node Driver
then use the query orderByKey()
to get the values under that key, attach a listener, and then iterate inside the key
and retrieve the values.
Upvotes: 2