我的问题看似很简单,但我真的对此感到绝望...我目前正在尝试拍摄几张照片,然后在imageview中直接实现它们。目前,我只能用一张图像来完成,而不能用两张图像来完成,甚至用三张图像来完成。我已经测试了循环和分叉,但还没有找到窍门...这些照片随后存储在Firebase中,供用户稍后恢复。按照我的代码顺序,向您展示我的不同功能。 因此,我的要求很简单,有人会想办法补救吗?
第一个功能显示我的活动结果。也就是说,在我的图像上捕获的图像以及第二个功能是将图像存储在Firebase Storage中:
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
if (requestCode == REQUEST_PICTURE_CAPTURE && resultCode == RESULT_OK) {
File imgFile = new File(pictureFilePath);
if(imgFile.exists()) {
image.setImageURI(Uri.fromFile(imgFile));
}
}
}
private void addToCloudStorage() {
File f = new File(pictureFilePath);
Uri picUri = Uri.fromFile(f);
final String cloudFilePath = deviceIdentifier +picUri.getLastPathSegment();
FirebaseUser user = mAuth.getCurrentUser();
String userId = user.getUid();
FirebaseStorage firebaseStorage = FirebaseStorage.getInstance();
StorageReference storageRef = firebaseStorage.getReference();
StorageReference uploadeRef = storageRef.child(cloudFilePath);
uploadeRef.child(userId).putFile(picUri).addOnFailureListener(new OnFailureListener() {
public void onFailure(@NonNull Exception exception) {
Log.e(TAG, "Vos photos n'ont pas été tranférées sur les serveurs. Veuillez réessayer !");
}
}).addOnSuccessListener(new OnSuccessListener<UploadTask.TaskSnapshot>() {
@Override
public void onSuccess(UploadTask.TaskSnapshot taskSnapshot) {
Toast.makeText(DescriptionLogement.this,
"Vos photos ont été déposées avec succès !",
Toast.LENGTH_SHORT).show();
}
});
}
REQUEST_PICTURE_CAPTURE等于6。
static final int REQUEST_PICTURE_CAPTURE = 6;