Я прописал код для передачи фото и текста на firebase но передача не происходит почему?
private ImageView imageprofilregmen;
private EditText nameEditmen;
private Button buttonsavenamemen;
private StorageReference storageprofilpicsRef;
private FirebaseStorage storage;
private Uri imageUri;
private String myUri = "";
private String checker = "";
private StorageTask uploadTask;
private FirebaseAuth mAuth;
private DatabaseReference databaseReference;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_name_men);
imageprofilregmen = (ImageView) findViewById(R.id.imageprofilregmen);
nameEditmen = (EditText) findViewById(R.id.nameEditmen);
buttonsavenamemen = (Button) findViewById(R.id.buttonsavenamemen);
storageprofilpicsRef = FirebaseStorage.getInstance().getReference().child("ProfileImage");
storage = FirebaseStorage.getInstance();
mAuth = FirebaseAuth.getInstance();
databaseReference = FirebaseDatabase.getInstance().getReference().child("UserMen-men");
buttonsavenamemen.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
if (checker.equals("clicked")) {
ValidateControler();
} else {
}
}
});
imageprofilregmen.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
checker = "clicked";
CropImage.activity().setAspectRatio(1, 1).start(NameMenActivity.this);
}
});
getUserInfo();
}
private void ValidateControler() {
if (TextUtils.isEmpty(nameEditmen.getText().toString()))
Toast.makeText(this, "Введите ваше имя", Toast.LENGTH_SHORT).show();
else if (checker.equals("clicked")) ;
{
uploadProfilImage();
}
}
private void uploadProfilImage() {
final ProgressDialog progressDialog=new ProgressDialog(this);
progressDialog.setTitle("Идет загрузка");
progressDialog.setMessage("Пожалуйста подождите");
progressDialog.show();
if (imageUri !=null){
final StorageReference fileRef= storageprofilpicsRef.child(mAuth.getCurrentUser().getUid()+"jpg");
uploadTask=fileRef.putFile(imageUri);
uploadTask.continueWithTask(new Continuation() {
@Override
public Object then(@NonNull Task task) throws Exception {
if (!task.isSuccessful()){
throw task.getException();
}
return fileRef.getDownloadUrl();
}
}).addOnCompleteListener(new OnCompleteListener<Uri>() {
@Override
public void onComplete(@NonNull Task <Uri>task) {
if (task.isSuccessful()){
Uri downloadUri=task.getResult();
myUri=downloadUri.toString();
HashMap<String,Object> userMap=new HashMap<>();
userMap.put("uid",mAuth.getCurrentUser().getUid());
userMap.put("name",nameEditmen.getText().toString());
userMap.put("image",myUri);
databaseReference.child(mAuth.getCurrentUser().getUid()).updateChildren(userMap);
progressDialog.dismiss();
startActivity(new Intent(NameMenActivity.this,HomeActivity.class));
}
}
});
}
else {
Toast.makeText(this, "Изображение не выбрано", Toast.LENGTH_SHORT).show();
}
}
private void getUserInfo() {
databaseReference.child(mAuth.getCurrentUser().getUid()).addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(@NonNull DataSnapshot snapshot) {
if (snapshot.exists()&&snapshot.getChildrenCount()>0)
{
String name=snapshot.child("name").getValue().toString();
nameEditmen.setText(name);
if (snapshot.hasChild("image")) {
String image = snapshot.child("image").getValue().toString();
Picasso.get().load(image).into(imageprofilregmen);
}
}
}
@Override
public void onCancelled(@NonNull DatabaseError error) {
}
});
}
}
Использовал библиотеки cropperimage, picasso. Progress dialog грузит но ничего не происходит а ещё когда выбрал картинку говорит изображение не выбрано.
Почему не происходит передача,и как это исправить?