//Example 1:
//Reading a database with following structure:
//Database Root > {"name" : "name of user"}
private DatabaseReference _mDatabase;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_test);
_mDatabase = FirebaseDatabase.getInstance().getReference();
DatabaseReference nameRef = _mDatabase.child("name");
nameRef.addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(@NonNull DataSnapshot dataSnapshot) {
String value = dataSnapshot.getValue(String.class);
Log.i("value is", value);
}
@Override
public void onCancelled(@NonNull DatabaseError databaseError) {}
});
//Example 2:
//Reading a database with following structure:
//Database Root > {"name" : "foo" } ,
// {"profession" : "bar"}
_mDatabase = FirebaseDatabase.getInstance().getReference();
_mDatabase.addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(@NonNull DataSnapshot dataSnapshot) {
Map<String, String> value = (Map) dataSnapshot.getValue();
//can also use Map<String, String> value = (Map<String, String>) dataSnapshot.getValue();
String name = value.get("name");
String profession = value.get("profession");
Log.i("E_VALUE", name);
Log.i("E_VALUE", profession);
}
//Example 3:
//Reading a database with following structure and putting into a ListView
//Database Root > users >
// {"user_one" : "name of user"}
// {"user_two" : "name of user"}
private DatabaseReference _mDatabase;
private ListView _listView;
private ArrayList<String> _userNames;
private ArrayAdapter _arrayAdapter;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_test);
_mDatabase = FirebaseDatabase.getInstance().getReference();
_listView = findViewById(R.id.listView);
_userNames = new ArrayList<>();
_arrayAdapter = new ArrayAdapter(this, android.R.layout.simple_list_item_1,_userNames);
_listView.setAdapter(_arrayAdapter);
DatabaseReference usersRef = _mDatabase.child("users");
usersRef.addChildEventListener(new ChildEventListener() {
@Override
public void onChildAdded(@NonNull DataSnapshot dataSnapshot, @Nullable String s) {
String value = dataSnapshot.getValue(String.class);
_userNames.add(value);
_arrayAdapter.notifyDataSetChanged();
}
@Override
public void onChildChanged(@NonNull DataSnapshot dataSnapshot, @Nullable String s) { }
@Override
public void onChildRemoved(@NonNull DataSnapshot dataSnapshot) { }
@Override
public void onChildMoved(@NonNull DataSnapshot dataSnapshot, @Nullable String s) { }
@Override
public void onCancelled(@NonNull DatabaseError databaseError) { }
});
}