Я пытаюсь написать приложение, которое выбрасывает случайные имена пользователей из моего Firebase Database
.Для этого мне нужно получить ссылочный ключ от каждого пользователя, чтобы я мог сопоставить его с именем пользователя в другой части приложения.
Правильно, результат выглядит так:
Это то, что я хотел бы иметь (с соответствующим Toast
конечно):
MainActivity
public class MainActivity extends AppCompatActivity {
private FirebaseAuth mAuth;
private FirebaseUser mCurrentUser;
private DatabaseReference mUsersDatabase;
private DatabaseReference mUsersDatabase1;
private Toolbar mToolbar;
private String item;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
mAuth = FirebaseAuth.getInstance();
mToolbar = (Toolbar) findViewById(R.id.main_page_toolbar);
mToolbar.setTitleTextColor(Color.WHITE);
setSupportActionBar(this.mToolbar);
getSupportActionBar().setTitle("TestApp");
mCurrentUser = FirebaseAuth.getInstance().getCurrentUser();
String current_uid = mCurrentUser.getUid();
mUsersDatabase = FirebaseDatabase.getInstance().getReference().child("Users").child(current_uid);
mUsersDatabase1 = FirebaseDatabase.getInstance().getReference().child("Users");
}
Метод броскаслучайных имен пользователей
public void getRandomUsernames(){
mUsersDatabase1.addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
ArrayList<String> userlist = new ArrayList<String>();
for(DataSnapshot dsp : dataSnapshot.getChildren()){
userlist.add(String.valueOf(dsp.getValue()));
}
Object randomitem = userlist.get(new Random().nextInt(userlist.size()));
Toast.makeText(getBaseContext(), randomitem.toString(), Toast.LENGTH_LONG).show();
}
@Override
public void onCancelled(DatabaseError databaseError) {
}
});
}
}
Все, что я пробовал, не сработало.Любые предложения приветствуются