Я пытаюсь загрузить изображение в базу данных firebase. Устройство щелкает изображение с помощью камеры, и оно должно быть загружено в базу данных. Этот код работает без ошибок, но не загружает изображения в базу данных. когда я запускаю это приложение, оно попадает в камеру, где я могу успешно щелкнуть изображение, но после этого оно не показывает индикатор выполнения, а также изображение не загружается.
import com.google.android.gms.tasks.OnSuccessListener;
import com.google.android.gms.tasks.Task;
import com.google.firebase.storage.FirebaseStorage;
import com.google.firebase.storage.StorageReference;
import com.google.firebase.storage.UploadTask;
import com.squareup.picasso.Picasso;
public class New extends AppCompatActivity {
private ListView lst;
private Button btn;
private StorageReference mstr;
private final static int GALLERY_INTENT=2;
private final static int CAMERA_REQUEST_CODE=1;
private ProgressBar progressBar;
private ImageView img;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_new);
//to upload images to database
mstr = FirebaseStorage.getInstance().getReference();
progressBar = (ProgressBar) findViewById(R.id.progressbar);
img = findViewById(R.id.imageView);
btn = findViewById(R.id.btn);
btn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
startActivityForResult(intent,CAMERA_REQUEST_CODE);
}
});
}
@Override
protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if(requestCode == GALLERY_INTENT && resultCode == RESULT_OK){
progressBar.setVisibility(View.VISIBLE);
Uri uri = data.getData();
StorageReference filepath = mstr.child("Photos").child(uri.getLastPathSegment());
filepath.putFile(uri).addOnSuccessListener(new OnSuccessListener<UploadTask.TaskSnapshot>() {
@Override
public void onSuccess(UploadTask.TaskSnapshot taskSnapshot) {
Toast.makeText(New.this,"Upload done",Toast.LENGTH_LONG).show();
Task<Uri> downloadUri = taskSnapshot.getStorage().getDownloadUrl();
Picasso.with(New.this).load(String.valueOf(downloadUri)).fit().centerCrop().into(img);
progressBar.setVisibility(View.INVISIBLE);
}
});
}
}
}