Спасибо, ребята, за ваше внимание. Я очень ценю это. Я попробую все ваши предложения. Я не могу многое объяснить. Остальная часть исходного кода находится в этом видео:
https://www.youtube.com/watch?v=LyAmpfm4ndo&index=3&list=PLzLFqCABnRQftQQETzoVMuteXzNiXmnj8
Я хочу узнать этот код для автологина из этого видео в приложении для чата, но, похоже, все, кто включал меня, сталкиваются с той же ошибкой в этом видео.Это MainActivity:
открытый класс MainActivity расширяет AppCompatActivity {
CircleImageView profile_image;
TextView username;
FirebaseUser firebaseUser;
DatabaseReference reference;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Toolbar toolbar = findViewById(R.id.toolbar);
setSupportActionBar(toolbar);
getSupportActionBar().setTitle("");
profile_image = findViewById(R.id.profile_image);
username = findViewById(R.id.username);
firebaseUser = FirebaseAuth.getInstance().getCurrentUser();
reference = FirebaseDatabase.getInstance().getReference("Users").child(firebaseUser.getUid());
reference.addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(@NonNull DataSnapshot dataSnapshot) {
User user = dataSnapshot.getValue(User.class);
username.setText(user.getUsername());
if (user.getImageURL().equals("default")) {
profile_image.setImageResource(R.mipmap.ic_launcher);
} else {
Glide.with(MainActivity.this).load(user.getImageURL()).into(profile_image);
}
}
@Override
public void onCancelled(@NonNull DatabaseError databaseError) {
}
});
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.menu, menu);
return true;
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()){
case R.id.logout:
FirebaseAuth.getInstance().signOut();
startActivity(new Intent( MainActivity.this, StartActivity.class));
finish();
return true;
}
return false;
}
}
А это класс User.class:
открытый класс User{
private String id;
private String username;
private String imageURL;
public User(String id, String username, String imageURL){
this.id = id;
this.username = username;
this.imageURL = imageURL;
}
public User(){
}
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
public String getImageURL() {
return imageURL;
}
public void setImageURL(String imageURL) {
this.imageURL = imageURL;
}
}
я думаю, что в этой строке чего-то не хватает, о чем я упоминаю в своем вопросе в MainActivity ...
User user = dataSnapshot.getValue (User.class);
Я новичок в программе для Android ... так много всего, что я не понимаю смысла ... и извините, если я ошибаюсь с ответом, потому что я новичокв этом стеке потока ..