На самом деле я пытаюсь загрузить изображение в Firestorage, а затем добавить URL-адрес в базу данных Firebase. мой код работает нормально и успешно загружает выбранное изображение в хранилище с указанием c userId. Моя проблема заключается в том, что при добавлении данных в базу данных он выполняется успешно, как показано в logcat, но когда я проверяю в базе данных, добавленные данные не отображаются, я проверил разрешение как ну роль безопасности Firebase, она настроена правильно, но все же добавление данных в узлы не отображается, есть ли ошибка в моем коде или что?
private void UpoloadImageTofirebaseStorage() {
user_id = mAuth.getCurrentUser().getUid();
mStorageRef = FirebaseStorage.getInstance().getReference("users").child(user_id);
if (imagePath != null) {
// final StorageReference imageRef = mStorageRef.child("users").child(user_id);
UploadTask uploadTask = mStorageRef.putFile(imagePath);
uploadTask.addOnFailureListener(new OnFailureListener() {
@Override
public void onFailure(@NonNull Exception e) {
Log.i(TAG, "Store image in storage:failure", e);
}
});
uploadTask.addOnSuccessListener(new OnSuccessListener<UploadTask.TaskSnapshot>() {
@Override
public void onSuccess(UploadTask.TaskSnapshot taskSnapshot) {
Task<Uri> downloadUrl = mStorageRef.getDownloadUrl();
Log.i(TAG,"Image Added "+ downloadUrl);
downloadUrl.addOnSuccessListener(new OnSuccessListener<Uri>() {
@Override
public void onSuccess(Uri uri) {
profileImageURL = uri.toString();
Log.i(TAG,"File Location"+ profileImageURL);
SaveUserToFirebaseDatabase( profileImageURL);
}
});
}
});
}
}
// add user info to datadase
private void SaveUserToFirebaseDatabase(String profileImageURL)
{
user_id = mAuth.getCurrentUser().getUid();
CreationDate = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss", Locale.getDefault()).format(new Date());
MyUsers user = new MyUsers(FullName,Password,EmailAddress,Gender, profileImageURL,CreationDate);
//add user to profile & all
DatabaseReference mDatabase= FirebaseDatabase.getInstance().getReference("users/profile").child(user_id);
mDatabase.setValue(user).addOnFailureListener(new OnFailureListener() {
@Override
public void onFailure(@NonNull Exception e) {
Log.i(TAG," mDatabase unable to add data"+ e);
}
});
Toast.makeText( UserSignup.this, "your information Added Successfully ", Toast.LENGTH_LONG).show();
}
вот что появляется в logcat после запуска кода
все добавленные данные появляются в logcat, но по-прежнему не отображаются как узел в firebase