Я пытаюсь создать метод загрузки моих 3D-файлов, хранящихся в хранилище Firebase, с помощью OnProgressListener и показывать загруженный процент для пользователя с помощью ProgressBar, но он не работает должным образом, Progress_percentage, я не знаю, почему мой код внутри OnProgressListener не работает.
Я следовал этим документам, чтобы опробовать то, что намеревался сделать.
https://firebase.google. com/docs/storage/android/download-files#java
https://github.com/firebase/snippets-an ... /src/main/ java/com/google/firebase/referencecode/storage/StorageActivity.java#L346-L357
вот как выглядит мой метод. Я чувствую, что сделал что-то не так в своем коде, Я жду помощи, чтобы исправить мой код и заставить его работать.
private void download3dFile(String fileUrl){
downloadProgressLayout.setVisibility(View.VISIBLE);
FirebaseStorage storage = FirebaseStorage.getInstance();
StorageReference httpReference = storage.getReferenceFromUrl(fileUrl);
File localFile;
try {
localFile = File.createTempFile("model","glb");
} catch (IOException e) {
throw new RuntimeException(e);
}
httpReference.getFile(localFile).addOnProgressListener(new OnProgressListener() {
@Override
public void onProgress(@NonNull FileDownloadTask.TaskSnapshot taskSnapshot) {
long percentage = taskSnapshot.getBytesTransferred()/taskSnapshot.getTotalByteCount()*100;
progressPercentageTxt.setText(MessageFormat.format("{0}%", percentage));
progressBar.setProgress((int) percentage);
}
}).addOnCompleteListener(new OnCompleteListener() {
@Override
public void onComplete(@NonNull Task taskSnapshot) {
Toast.makeText(MainActivity.this, "Download Complete", Toast.LENGTH_SHORT).show();
downloadProgressLayout.setVisibility(View.GONE);
Uri fileUri = Uri.fromFile(localFile);
Toast.makeText(MainActivity.this, "Uri - "+fileUri, Toast.LENGTH_LONG).show();
}
}).addOnSuccessListener(new OnSuccessListener() {
@Override
public void onSuccess(FileDownloadTask.TaskSnapshot taskSnapshot) {
}
}).addOnCanceledListener(new OnCanceledListener() {
@Override
public void onCanceled() {
Toast.makeText(MainActivity.this, "Download Canceled!", Toast.LENGTH_SHORT).show();
downloadProgressLayout.setVisibility(View.GONE);
}
}).addOnFailureListener(new OnFailureListener() {
@Override
public void onFailure(@NonNull Exception e) {
Toast.makeText(MainActivity.this, "Download Failed - "+e.getMessage(), Toast.LENGTH_SHORT).show();
downloadProgressLayout.setVisibility(View.GONE);
}
});
}
Подробнее здесь: https://stackoverflow.com/questions/787 ... wnloadings
Как добавить OnProgressListener для загрузки файлов хранилища Firebase? ⇐ Android
Форум для тех, кто программирует под Android
1720220326
Anonymous
Я пытаюсь создать метод загрузки моих 3D-файлов, хранящихся в хранилище Firebase, с помощью OnProgressListener и показывать загруженный процент для пользователя с помощью ProgressBar, но он не работает должным образом, Progress_percentage, я не знаю, почему мой код внутри OnProgressListener не работает.
Я следовал этим документам, чтобы опробовать то, что намеревался сделать.
https://firebase.google. com/docs/storage/android/download-files#java
https://github.com/firebase/snippets-android/blob/bdab1d019d41c1e034ecc1d63d30c7071af3d79d/storage/app/src/main/ java/com/google/firebase/referencecode/storage/StorageActivity.java#L346-L357
вот как выглядит мой метод. Я чувствую, что сделал что-то не так в своем коде, Я жду помощи, чтобы исправить мой код и заставить его работать.
private void download3dFile(String fileUrl){
downloadProgressLayout.setVisibility(View.VISIBLE);
FirebaseStorage storage = FirebaseStorage.getInstance();
StorageReference httpReference = storage.getReferenceFromUrl(fileUrl);
File localFile;
try {
localFile = File.createTempFile("model","glb");
} catch (IOException e) {
throw new RuntimeException(e);
}
httpReference.getFile(localFile).addOnProgressListener(new OnProgressListener() {
@Override
public void onProgress(@NonNull FileDownloadTask.TaskSnapshot taskSnapshot) {
long percentage = taskSnapshot.getBytesTransferred()/taskSnapshot.getTotalByteCount()*100;
progressPercentageTxt.setText(MessageFormat.format("{0}%", percentage));
progressBar.setProgress((int) percentage);
}
}).addOnCompleteListener(new OnCompleteListener() {
@Override
public void onComplete(@NonNull Task taskSnapshot) {
Toast.makeText(MainActivity.this, "Download Complete", Toast.LENGTH_SHORT).show();
downloadProgressLayout.setVisibility(View.GONE);
Uri fileUri = Uri.fromFile(localFile);
Toast.makeText(MainActivity.this, "Uri - "+fileUri, Toast.LENGTH_LONG).show();
}
}).addOnSuccessListener(new OnSuccessListener() {
@Override
public void onSuccess(FileDownloadTask.TaskSnapshot taskSnapshot) {
}
}).addOnCanceledListener(new OnCanceledListener() {
@Override
public void onCanceled() {
Toast.makeText(MainActivity.this, "Download Canceled!", Toast.LENGTH_SHORT).show();
downloadProgressLayout.setVisibility(View.GONE);
}
}).addOnFailureListener(new OnFailureListener() {
@Override
public void onFailure(@NonNull Exception e) {
Toast.makeText(MainActivity.this, "Download Failed - "+e.getMessage(), Toast.LENGTH_SHORT).show();
downloadProgressLayout.setVisibility(View.GONE);
}
});
}
Подробнее здесь: [url]https://stackoverflow.com/questions/78713408/how-to-add-onprogresslistener-for-firebase-storage-file-downloadings[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия