Регистрационные данные пользователей Android studio НЕ будут вставлены в базу данных firebase

# #java #android #firebase #firebase-realtime-database

Вопрос:

Мой код выше предназначен для вставки регистрационных данных пользователя в базу данных firebase. но когда я создаю приложение и пытаюсь вставить некоторые демонстрационные данные в базу данных для регистрации пользователя, ни один из них не вставляется в firebase. может ли кто-нибудь проверить мой код и выяснить, что я сделал не так?

 public class CreateProfile extends AppCompatActivity {   EditText etName,etBio,etProfession,etEmail,etWeb;  Button button;  ImageView imageView;  ProgressBar progressBar;  Uri imageUri;  UploadTask uploadTask;  StorageReference storageReference;  FirebaseDatabase database = FirebaseDatabase.getInstance();  DatabaseReference databaseReference;  FirebaseFirestore db = FirebaseFirestore.getInstance() ;  DocumentReference documentReference;  private static final int PICK_IMAGE=1;  All_User_Member member;  String currentUserId;    @Override  protected void onCreate(Bundle savedInstanceState) {  super.onCreate(savedInstanceState);  setContentView(R.layout.activity_create_profile);   member = new All_User_Member();  imageView = findViewById(R.id.iv_cp);  etBio = findViewById(R.id.et_bio_cp);  etEmail = findViewById(R.id.et_email_cp);  etName = findViewById(R.id.et_name_cp);  etProfession = findViewById(R.id.et_profession_cp);  etWeb = findViewById(R.id.et_web_cp);  button = findViewById(R.id.btn_cp);  progressBar = findViewById(R.id.progressbar_cp);   FirebaseUser user = FirebaseAuth.getInstance().getCurrentUser();   currentUserId = user.getUid();   //reference  documentReference = db.collection("user").document(currentUserId);  storageReference = FirebaseStorage.getInstance().getReference("Profile images");  databaseReference = database.getReference("All users");   //button click  button.setOnClickListener(new View.OnClickListener() {  @Override  public void onClick(View view) {  uploadData();  }  });    //ProfileImageSelect  imageView.setOnClickListener(new View.OnClickListener() {  @Override  public void onClick(View view) {  Intent intent = new Intent();  intent.setType("image/*");  intent.setAction(Intent.ACTION_GET_CONTENT);  startActivityForResult(Intent.createChooser(intent,"select image"),PICK_IMAGE);  }  });    }   //LoadingProfileImage    @Override  protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) {  super.onActivityResult(requestCode, resultCode, data);   try {   if (requestCode==PICK_IMAGE || resultCode== RESULT_OK || data != null || data.getData() !=null){  imageUri = data.getData();   Picasso.get().load(imageUri).into(imageView);  }   }catch (Exception e){   Toast.makeText(this, "Error" e, Toast.LENGTH_SHORT).show();   }    }   private String getFileExt(Uri uri){  ContentResolver contentResolver = getContentResolver();  MimeTypeMap mimeTypeMap = MimeTypeMap.getSingleton();  return mimeTypeMap.getExtensionFromMimeType((contentResolver.getType(uri)));  }     private void uploadData() {   String name = etName.getText().toString();  String bio = etBio.getText().toString();  String web = etWeb.getText().toString();  String prof = etProfession.getText().toString();  String mail = etEmail.getText().toString();   if(TextUtils.isEmpty(name) || TextUtils.isEmpty(bio) || TextUtils.isEmpty(web) || TextUtils.isEmpty(prof) ||  TextUtils.isEmpty(mail) || imageUri != null){   progressBar.setVisibility(View.VISIBLE);  final StorageReference reference = storageReference.child(System.currentTimeMillis()  "." getFileExt(imageUri));  uploadTask = reference.putFile(imageUri);   Tasklt;Urigt; urlTask = uploadTask.continueWithTask(new Continuationlt;UploadTask.TaskSnapshot, Tasklt;Urigt;gt;() {  @Override  public Tasklt;Urigt; then(@NonNull Tasklt;UploadTask.TaskSnapshotgt; task) throws Exception {   if (!task.isSuccessful()){  throw task.getException();  }   return reference.getDownloadUrl();   }  }).addOnCompleteListener(new OnCompleteListenerlt;Urigt;() {  @Override  public void onComplete(@NonNull Tasklt;Urigt; task) {    if (task.isSuccessful()){  Uri downloadUri = task.getResult();    Maplt;String, Stringgt; profile = new HashMaplt;gt;();  profile.put("name", name);  profile.put("prof", prof);  profile.put("url", downloadUri.toString());  profile.put("bio", bio);  profile.put("mail", mail);  profile.put("web", web);  profile.put("privacy", "Public");   member.setName(name);  member.setProf(prof);  member.setUid(currentUserId);  member.setUrl(downloadUri.toString());   databaseReference.child(currentUserId).setValue(member);   documentReference.set(profile).addOnSuccessListener(new OnSuccessListenerlt;Voidgt;() {  @Override  public void onSuccess(Void unused) {   progressBar.setVisibility(View.INVISIBLE);  Toast.makeText(CreateProfile.this, "Profile Created", Toast.LENGTH_SHORT).show();   Handler handler = new Handler();  handler.postDelayed(new Runnable() {  @Override  public void run() {   Intent intent = new Intent(CreateProfile.this,Fragment1.class);  startActivity(intent);   }  },2000);   }  });   }   }  });   }else {  Toast.makeText(this, "Please fill all fields", Toast.LENGTH_SHORT).show();  }  } }  

Это ошибки, возникающие в Android studio:

Комментарии:

1. Ошибок нет, потому что вы это не проверяете. Вы пытались подключить прослушиватель сбоев, чтобы посмотреть, не пойдет ли что-то не так?

2. нет, брат! Я все еще новичок в разработке Android. Я не могу найти, где я ошибся или ошибся.

3. Вы поделились довольно большим количеством кода в своем вопросе, а переполнение стека-заведомо неэффективный интерактивный отладчик. Я рекомендую установить точки останова в коде, запустить его в отладчике, а затем последовательно просматривать его, проверяя переменные на каждом шаге. Если вы это сделаете, какая строка будет первой , которая не будет делать то, что вы ожидаете?