嗨,我正在尝试从 Firebase 获取数据,但它没有获取数据。 在我使用的 java 代码下面:
package com.example.cashiya;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_dashboard);
drawerLayout = findViewById(R.id.drawerlayout);
navigationView = findViewById(R.id.drawer);
dalyCheckCard = findViewById(R.id.dailycheckcard);
luckyCard = findViewById(R.id.luckyspincard);
taskCard = findViewById(R.id.taskcard);
redeemCard = findViewById(R.id.redeemcard);
watchCard = findViewById(R.id.watchcard);
aboutCard = findViewById(R.id.aboutcard);
referCard = findViewById(R.id.referalcard);
profileImage = findViewById(R.id.profileImg);
coinsTv = findViewById(R.id.coinTv);
toolbar = findViewById(R.id.toolBar);
nameTv = findViewById(R.id.nameTV);
emailTv = findViewById(R.id.emailTV);
setSupportActionBar(toolbar);
FirebaseAuth auth = FirebaseAuth.getInstance();
user = auth.getCurrentUser();
reference = FirebaseDatabase.getInstance().getReference().child("users");
getDataFromDatabase();
ActionBarDrawerToggle toggle = new ActionBarDrawerToggle(
DashboardActivity.this, drawerLayout, toolbar,
R.string.opendrawer, R.string.closedrawer);
drawerLayout.addDrawerListener(toggle);
toggle.syncState();
navigationView.setNavigationItemSelectedListener(new NavigationView.OnNavigationItemSelectedListener() {
@Override
public boolean onNavigationItemSelected(MenuItem item) {
int id = item.getItemId();
if (id==R.id.dailycheckcard){
Toast.makeText(DashboardActivity.this, "Yar sabar karo hale kam ho reya", Toast.LENGTH_SHORT).show();
}
else if (id==R.id.luckyspincard){
Toast.makeText(DashboardActivity.this, "Yar sabar karo hale kam ho reya", Toast.LENGTH_SHORT).show();
}
else if (id==R.id.taskcard){
Toast.makeText(DashboardActivity.this, "Yar sabar karo hale kam ho reya", Toast.LENGTH_SHORT).show();
}
else if (id==R.id.referalcard){
Toast.makeText(DashboardActivity.this, "Yar sabar karo hale kam ho reya", Toast.LENGTH_SHORT).show();
}
else if (id==R.id.aboutcard){
Toast.makeText(DashboardActivity.this, "Yar sabar karo hale kam ho reya", Toast.LENGTH_SHORT).show();
}
else if (id==R.id.watchcard){
Toast.makeText(DashboardActivity.this, "Yar sabar karo hale kam ho reya", Toast.LENGTH_SHORT).show();
}
else {
Toast.makeText(DashboardActivity.this, "Sabar te hai hi nai", Toast.LENGTH_SHORT).show();
}
return true;
}
});
}
private void getDataFromDatabase(){
reference.child(user.getUid()).addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot snapshot) {
ProfileModel model = snapshot.getValue(ProfileModel.class);
nameTv.setText(model.getName());
emailTv.setText(model.getEmail());
coinsTv.setText(String.valueOf(model.getCoins()));
Glide.with(getApplicationContext())
.load(model.getImage())
.timeout(6000)
.placeholder(R.drawable.ic_profile)
.into(profileImage);
}
@Override
public void onCancelled(DatabaseError error) {
Toast.makeText(DashboardActivity.this, "Error: " +
error.getMessage(), Toast.LENGTH_SHORT).show();
finish();
}
});
}
}
它工作正常但是当我添加导航栏然后它停止获取我只是试图从 firebase 获取用户名和电子邮件。应用程序没有崩溃,只是没有从 firebase 获取数据。