savali09 Ответов: 1

Как мне это сделать? Ошибка: не удается найти символ метода getdownloadurl()


я пытаюсь загрузить изображение в firebase,
но у меня есть одна проблема
о
getDownloadUrl

ошибка: не удается найти символ метода getDownloadUrl()

Что я уже пробовал:

пакет com.пример.uploadimageswithtextfirebase;
импорт android.app.ProgressDialog;
импорт android.content.ContentResolver;
импорт android.content.Намерение;
импорт android.графики.Растровый;
импорт android.net-да.Ури;
импорт android.provider.Система хранения mediastore;
импорт android.os.Bundle;
импорт android.view.View;
импорт android.в WebKit.MimeTypeMap;
импорт android.widget.Кнопка;
импорт android.widget.EditText;
импорт android.widget.Графическое представление;
импорт android.widget.Тост;

импорт androidx.аннотации.Значение, отличное от null;
импорт androidx.совместимости приложений.приложение.AppCompatActivity;

импорт com.google.android.gms.tasks.OnFailureListener;
импорт com.google.android.gms.tasks.OnSuccessListener;
импорт com.google.огневая база.базы данных.DatabaseReference;
импорт com.google.огневая база.базы данных.FirebaseDatabase;
импорт com.google.огневая база, хранилище.FirebaseStorage;
импорт com.google.огневая база, хранилище.OnProgressListener;
импорт com.google.огневая база, хранилище.StorageReference;
импорт com.google.огневая база, хранилище.UploadTask;

импорт Java.Ио.Исключение IOException;

public class MainActivity расширяет AppCompatActivity {

// Путь к папке для хранилища Firebase.
Строка Storage_Path = "All_Image_Uploads/";

// Корневым имя базы данных на базе опорного пункта.
Строка Database_Path = "All_Image_Uploads_Database";

// Кнопка создания.
Кнопка ChooseButton, UploadButton;

// Создание EditText.
EditText ImageName ;

// Создания Книги.
Графическое Представление SelectImage;

// Создание URI.
FilePathUri Ури ;

// Создание объекта StorageReference и DatabaseReference.
StorageReference storageReference;
DatabaseReference databaseReference;

// Код запроса изображения для onActivityResult() .
int Image_Request_Code = 7;

ProgressDialog progressDialog ;

Логическое Значение CheckImageViewEditText;

@Ручная коррекция
protected void onCreate(Bundle savedInstanceState) {
супер.метод onCreate(savedInstanceState);
setContentView(R. layout.activity_main);

// Назначьте экземпляр FirebaseStorage для storageReference.
storageReference = FirebaseStorage.getInstance().getReference();

// Назначьте экземпляру FirebaseDatabase имя корневой базы данных.
databaseReference = FirebaseDatabase.getInstance().getReference(Database_Path);

//Присвоить идентификаторы кнопке.
ChooseButton = findViewById(R. id.ButtonChooseImage);
UploadButton = findViewById(R. id.ButtonUploadImage);

// Присвоить идентификаторы EditText.
ImageName = findViewById(R. id.ImageNameEditText);

// Назначьте идентификаторы для просмотра изображения.
SelectImage = findViewById(R. id.ShowImageView);

// Присвоение идентификатора ProgressDialog.
progressDialog = новый ProgressDialog(MainActivity.this);

// Добавление прослушивателя щелчков мыши для выбора кнопки изображения.
ChooseButton.setOnClickListener(новый вид.OnClickListener() {
@Ручная коррекция
общественного недействительными onclick(Посмотреть Посмотреть) {

// Создание намерения.
Намерение намерение = новое намерение();

// Установка типа намерения в качестве изображения для выбора изображения из памяти телефона.
intent.setType("изображение/*");
intent.setAction(намерение.ACTION_GET_CONTENT);
startActivityForResult(Intent.createChooser(intent, "Пожалуйста, выберите изображение"), Image_Request_Code);

}
});


// Добавить кнопку слушателя, чтобы загрузить изображение кнопки.
UploadButton.setOnClickListener(новый вид.OnClickListener() {
@Ручная коррекция
общественного недействительными onclick(Посмотреть Посмотреть) {

// Вызов метода для загрузки выбранного изображения в хранилище Firebase.
UploadImageFileToFirebaseStorage();

}
});
}

@Ручная коррекция
protected void onActivityResult(int requestCode, int resultCode, Intent data) {

super.onActivityResult(requestCode, resultCode, data);

если (requestCode == Image_Request_Code &амп;&амп; resultCode == RESULT_OK и усилитель; & сведения != нуль &амп;&амп; сведения.метода GetData() != нуль) {

FilePathUri = сведения.метода GetData();

пробовать {

// Получение выбранного изображения в растровое изображение.
Растровое изображение растровое изображение = система хранения mediastore.Изображения.Media.getBitmap(getContentResolver(), FilePathUri);

// Настройка растрового выбранного изображения в ImageView.
SelectImage.setImageBitmap(растровое изображение);

// После выбора изменения изображения нажмите кнопку над текстом.
ChooseButton.setText("изображение выбрано");

}
catch (IOException e) {

е.печатные();
}
}
}

// Метод создания для получения выбранного расширения файла изображения из URI пути к файлу.
публичная строка GetFileExtension(Uri uri) {

ContentResolver contentResolver = getContentResolver();

MimeTypeMap mimeTypeMap = MimeTypeMap.getSingleton();

// Возврат расширения файла.
возврат mimeTypeMap.getExtensionFromMimeType(contentResolver.getType(uri)) ;

}

// Создание метода UploadImageFileToFirebaseStorage для загрузки изображения в хранилище.
общественного недействительными UploadImageFileToFirebaseStorage() {

// Проверка того, является ли FilePathUri пустым или нет.
if (FilePathUri != null) {

// Настройка заголовка progressDialog.
progressDialog.setTitle("изображение загружается...");

// Отображение progressDialog.
progressDialog.показать();

// Создание второй ссылки на хранилище.
StorageReference storageReference2nd = storageReference.child(Storage_Path + System.currentTimeMillis() + "." + GetFileExtension(FilePathUri));

// Добавление addOnSuccessListener во второй StorageReference.
storageReference2nd.putFile(FilePathUri)
.addOnSuccessListener(новый OnSuccessListener<uploadtask.tasksnapshot>() {
@Ручная коррекция
общественного недействительными onsuccess процедуры(UploadTask.TaskSnapshot taskSnapshot) {

// Получение имени изображения из EditText и сохранение его в строковую переменную.
Строка TempImageName = ImageName.getText().toString().trim();

// Скрытие progressDialog после завершения загрузки.
progressDialog.уволить();

// Отображение тостового сообщения после завершения загрузки.
Toast.makeText(getApplicationContext(), "изображение загружено успешно ", тост.LENGTH_LONG).показать();

@SuppressWarnings("VisibleForTests")
ImageUploadInfo imageUploadInfo = new ImageUploadInfo(TempImageName, taskSnapshot.getDownloadUrl().toString());

// Получение идентификатора загрузки изображения.
Строка ImageUploadId = databaseReference.push().getKey();

// Добавление дочернего элемента image upload id s в databaseReference.
databaseReference.child(ImageUploadId).setValue(imageUploadInfo);
}
})
/- Если что-то пойдет не так .
.addOnFailureListener(новый OnFailureListener() {
@Ручная коррекция
onFailure общественного недействительными(@исключений исключений, не равных null ) {

// Скрытие progressDialog.
progressDialog.уволить();

// Отображение сообщения об ошибке исключения.
Тост.makeText(в MainActivity.в этом, исключение.метод GetMessage(), тост.LENGTH_LONG).показать();
}
})

// On progress изменение времени загрузки.
.addOnProgressListener(новый OnProgressListener<uploadtask.tasksnapshot>() {
@Ручная коррекция
public void onProgress(UploadTask.TaskSnapshot taskSnapshot) {

// Настройка заголовка progressDialog.
progressDialog.setTitle("изображение загружается...");

}
});
}
еще {

Toast.makeText(MainActivity.this, "Пожалуйста, выберите изображение или добавьте имя изображения", Toast.LENGTH_LONG).показать();

}
}


}