@Artutit

Как решить проблему с публикацией фото в firebase?

imageprofilreguser.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                choosePicture();
            }
        });
        }

    private void choosePicture() {
        Intent intent=new Intent();
        intent.setType("image/*");
        intent.setAction(Intent.ACTION_GET_CONTENT);
        startActivityForResult(intent,1);

    }

    @Override
    protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) {
        super.onActivityResult(requestCode, resultCode, data);
        if (requestCode==1&&resultCode==RESULT_OK&&data!=null&&data.getData()!=null){
            imageUri=data.getData();
            imageprofilreguser.setImageURI(imageUri);
            uploadPicture();
        }
    }

    private void uploadPicture() {
        final ProgressDialog pd=new ProgressDialog(this);
        pd.setTitle("загрузка");
        pd.show();
        final String randomKey= UUID.randomUUID().toString();
        StorageReference riversRef = storageProfilePicsRef.child("images/"+randomKey);

riversRef.putFile(imageUri);
  riversRef.putFile(file)
          .addOnSuccessListener(new OnSuccessListener<UploadTask.TaskSnapshot>() {
              @Override
              public void onSuccess(UploadTask.TaskSnapshot taskSnapshot) {
                  pd.dismiss();
                 Snackbar.make(findViewById(android.R.id.content),"image",Snackbar.LENGTH_LONG).show();
              }
          });
        addOnFailurelListener(new OnFailureListener(){
            @Override
            public void onFailure(@NonNull Exception exception){
                pd.dismiss();
              Toast.makeText(getApplicationContext(),"failed to Uploa",Toast.LENGTH_LONG).show();
            }
        });
        addOnProgressListener(new OnProgressListener<UploadTask.TaskSnapshot>(){
            @Override
            public void onProgress(@NonNull UploadTask.TaskSnapshot taskSnapshot){
                double progressPercent=(100.00*taskSnapshot.getBytesTransferred()/taskSnapshot.getTotalByteCount());
                pd.setMessage("Percentage"+(int)progressPercent+"%");
            }
        });

Прописал такой код для публикации фото чтобы пользователь нажимам на imageprofil и сразу открывалась галерея с выбором и после публикация в базу. Но тут ошибка как ее исправить? Заранее спасибо
  • Вопрос задан
  • 55 просмотров
Пригласить эксперта
Ответы на вопрос 1
xez
@xez Куратор тега Java
TL Junior Roo
Я вообще-то ни одного приложения на андроиде не написал, но тут, кажется, должен быть какой-то флюент-синтаксис:
riversRef.putFile(file)
          .addOnSuccessListener(new OnSuccessListener<UploadTask.TaskSnapshot>() {
              @Override
              public void onSuccess(UploadTask.TaskSnapshot taskSnapshot) {
                  pd.dismiss();
                 Snackbar.make(findViewById(android.R.id.content),"image",Snackbar.LENGTH_LONG).show();
              }
          })  // тут
        .addOnFailurelListener(new OnFailureListener(){
            @Override
            public void onFailure(@NonNull Exception exception){
                pd.dismiss();
              Toast.makeText(getApplicationContext(),"failed to Uploa",Toast.LENGTH_LONG).show();
            }
        }) // и тут
        .addOnProgressListener(new OnProgressListener<UploadTask.TaskSnapshot>(){
            @Override
            public void onProgress(@NonNull UploadTask.TaskSnapshot taskSnapshot){
                double progressPercent=(100.00*taskSnapshot.getBytesTransferred()/taskSnapshot.getTotalByteCount());
                pd.setMessage("Percentage"+(int)progressPercent+"%");
            }
        });
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы