在firebase android中上载多个图像

在firebase android中上载多个图像,android,firebase,firebase-storage,Android,Firebase,Firebase Storage,当用户单击“上载”按钮时,我尝试上载多个图像。这里我的问题是当我点击上传时,只有一张图片会被上传,我想同时上传两张图片。我不知道我哪里做错了。请解决 下面是我的代码 public class UserDocument extends AppCompatActivity { Integer REQUEST_CAMERA = 1, SELECT_FILE = 0; CardView dl_front, dl_back; private static final int M

当用户单击“上载”按钮时,我尝试上载多个图像。这里我的问题是当我点击上传时,只有一张图片会被上传,我想同时上传两张图片。我不知道我哪里做错了。请解决

下面是我的代码

public class UserDocument extends AppCompatActivity {

    Integer REQUEST_CAMERA = 1, SELECT_FILE = 0;
    CardView dl_front, dl_back;
    private static final int MY_CAMERA_REQUEST_CODE = 100;
    ImageView dlFront, dlBack;
    private boolean isDlBack = false;
    private boolean isDlFront = false;

    CustomerDocument currDocument;

    Button btnUpload;
    FirebaseStorage storage;
    StorageReference storageReference;

    Uri saveUri;

    @RequiresApi(api = Build.VERSION_CODES.M)
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_user_document);
        storage = FirebaseStorage.getInstance();
        storageReference = storage.getReference();

        dl_front = (CardView) findViewById(R.id.frameFrontSide_holder); // creating a CardView and assigning a value.
        dl_back = (CardView) findViewById(R.id.frameBackSide_holder); // creating a CardView and assigning a value.

        btnUpload = (Button) findViewById(R.id.btnUpload);
        dlFront = (ImageView) findViewById(R.id.frameFrontSide);
        dlBack = (ImageView) findViewById(R.id.frameBackSide);


        dl_front.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {

                isDlBack = false;
                isDlFront = true;
                //                Intent intent=new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
                //                startActivityForResult(intent,0);
                SelectImage();
            }
        });
        dl_back.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {

                isDlFront = false;
                isDlBack = true;
                //                Intent intent=new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
                //                startActivityForResult(intent,0);
                SelectImage();
            }
        });

        if (checkSelfPermission(Manifest.permission.CAMERA) !=
            PackageManager.PERMISSION_GRANTED) {
            requestPermissions(new String[] {
                    Manifest.permission.CAMERA
                },
                MY_CAMERA_REQUEST_CODE);
        }
        btnUpload.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                uploadImage();
            }
        });
    }
    private void uploadImage() {

        if (saveUri != null) {
            final ProgressDialog mDialog = new ProgressDialog(this);
            mDialog.setMessage("Uploading...");
            mDialog.show();

            String imageName = UUID.randomUUID().toString();
            final StorageReference imageFolder = storageReference.child("images/" + imageName);
            imageFolder.putFile(saveUri)
                .addOnSuccessListener(new OnSuccessListener < UploadTask.TaskSnapshot > () {
                    @Override
                    public void onSuccess(UploadTask.TaskSnapshot taskSnapshot) {
                        mDialog.dismiss();
                        Toast.makeText(UserDocument.this, "Uploaded !!!", Toast.LENGTH_SHORT).show();
                        imageFolder.getDownloadUrl().addOnSuccessListener(new OnSuccessListener < Uri > () {
                            @Override
                            public void onSuccess(Uri uri) {
                                // currDocument = new CustomerDocument(Common.currentUser,uri.toString(),uri.toString());

                            }
                        });

                    }
                }).addOnFailureListener(new OnFailureListener() {
                    @Override
                    public void onFailure(@NonNull Exception e) {
                        mDialog.dismiss();
                        Toast.makeText(UserDocument.this, "" + e.getMessage(), Toast.LENGTH_SHORT).show();
                    }
                }).addOnProgressListener(new OnProgressListener < UploadTask.TaskSnapshot > () {
                    @Override
                    public void onProgress(UploadTask.TaskSnapshot taskSnapshot) {
                        double progress = (100.0 * taskSnapshot.getBytesTransferred() / taskSnapshot.getTotalByteCount());
                        mDialog.setMessage("Uploaded " + progress + "%");


                    }
                });

        }
    }


    private void SelectImage() {

        final CharSequence[] items = {
            "Camera",
            "Gallery",
            "Cancel"
        };

        AlertDialog.Builder builder = new AlertDialog.Builder(UserDocument.this);
        builder.setTitle("Add Image");

        builder.setItems(items, new DialogInterface.OnClickListener() {

            @Override
            public void onClick(DialogInterface dialogInterface, int i) {
                if (items[i].equals("Camera")) {

                    Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
                    startActivityForResult(intent, REQUEST_CAMERA);

                } else if (items[i].equals("Gallery")) {

                    Intent intent = new Intent(Intent.ACTION_PICK, MediaStore.Images.Media.EXTERNAL_CONTENT_URI);
                    intent.setType("image/*");
                    //startActivityForResult(intent.createChooser(intent, "Select File"), SELECT_FILE);
                    startActivityForResult(intent, SELECT_FILE);

                } else if (items[i].equals("Cancel")) {
                    dialogInterface.dismiss();
                }
            }
        });
        builder.show();

    }
    @Override
    public void onActivityResult(int requestCode, int resultCode, Intent data) {
        super.onActivityResult(requestCode, resultCode, data);

        if (resultCode == Activity.RESULT_OK) {

            if (requestCode == REQUEST_CAMERA) {

                Bundle bundle = data.getExtras();
                final Bitmap bmp = (Bitmap) bundle.get("data");
                if (isDlFront == true)
                    dlFront.setImageBitmap(bmp);
                else if (isDlBack == true)
                    dlBack.setImageBitmap(bmp);

            } else if (requestCode == SELECT_FILE) {

                saveUri = data.getData();
                if (isDlFront == true)
                    dlFront.setImageURI(saveUri);
                else if (isDlBack == true)
                    dlBack.setImageURI(saveUri);
            }

        }
    }


    @Override
    public boolean onOptionsItemSelected(MenuItem item) {

        int id = item.getItemId();

        if (id == R.id.action_settings) {
            return true;
        }

        return super.onOptionsItemSelected(item);
    }
    @Override

    public void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions, @NonNull int[] grantResults) {

        super.onRequestPermissionsResult(requestCode, permissions, grantResults);

        if (requestCode == MY_CAMERA_REQUEST_CODE) {

            if (grantResults[0] == PackageManager.PERMISSION_GRANTED) {

                Toast.makeText(this, "camera permission granted", Toast.LENGTH_LONG).show();

            } else {

                Toast.makeText(this, "camera permission denied", Toast.LENGTH_LONG).show();

            }

        }
    }
}
public类UserDocument扩展了AppCompative活动{
整数请求\u摄像机=1,选择\u文件=0;
CardView左前,右后;
私人静态最终int MY_摄像头_请求_代码=100;
图像视图dlFront,dlBack;
私有布尔值isDlBack=false;
私有布尔值isDlFront=false;
客户文件;
按钮btnUpload;
火基储存;
StorageReference-StorageReference;
urisaveuri;
@RequiresApi(api=Build.VERSION\u CODES.M)
@凌驾
创建时受保护的void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.activity\u user\u文档);
storage=FirebaseStorage.getInstance();
storageReference=storage.getReference();
dl_front=(CardView)findViewById(R.id.frameFrontSide_holder);//创建CardView并赋值。
dl_back=(CardView)findViewById(R.id.frameBackSide_holder);//创建CardView并赋值。
btnUpload=(按钮)findViewById(R.id.btnUpload);
dlFront=(ImageView)findViewById(R.id.frameFrontSide);
dlBack=(ImageView)findViewById(R.id.frameBackSide);
dl_front.setOnClickListener(新视图.OnClickListener(){
@凌驾
公共void onClick(视图v){
isDlBack=false;
isDlFront=true;
//意向意向=新意向(MediaStore.ACTION\u IMAGE\u CAPTURE);
//startActivityForResult(意向,0);
选择image();
}
});
dl_back.setOnClickListener(新视图.OnClickListener(){
@凌驾
公共void onClick(视图v){
isDlFront=false;
isDlBack=true;
//意向意向=新意向(MediaStore.ACTION\u IMAGE\u CAPTURE);
//startActivityForResult(意向,0);
选择image();
}
});
如果(选中selfpermission(Manifest.permission.CAMERA)=
PackageManager.权限(已授予){
requestPermissions(新字符串[]){
舱单、许可、照相机
},
我的\摄像机\请求\代码);
}
btnUpload.setOnClickListener(新视图.OnClickListener(){
@凌驾
公共void onClick(视图v){
上传图像();
}
});
}
私有void uploadImage(){
if(saveUri!=null){
final ProgressDialog mDialog=新建ProgressDialog(此);
mDialog.setMessage(“上传…”);
mDialog.show();
字符串imageName=UUID.randomUUID().toString();
最终StorageReference imageFolder=StorageReference.child(“图像/”+imageName);
imageFolder.putFile(saveUri)
.addOnSuccessListener(新建OnSuccessListener(){
@凌驾
成功时公共无效(UploadTask.TaskSnapshot TaskSnapshot){
mDialog.discouse();
Toast.makeText(UserDocument.this,“上传!!!”,Toast.LENGTH\u SHORT.show();
imageFolder.getDownloadUrl().addOnSuccessListener(新OnSuccessListener(){
@凌驾
成功时的公共无效(Uri){
//currDocument=newcustomerdocument(Common.currentUser,uri.toString(),uri.toString());
}
});
}
}).addOnFailureListener(新的OnFailureListener(){
@凌驾
public void onFailure(@NonNull异常e){
mDialog.discouse();
Toast.makeText(UserDocument.this,“+e.getMessage(),Toast.LENGTH_SHORT.show();
}
}).addOnProgressListener(新建OnProgressListener(){
@凌驾
public void onProgress(UploadTask.TaskSnapshot TaskSnapshot){
双进度=(100.0*taskSnapshot.GetByTestTransferred()/taskSnapshot.getTotalByteCount());
mDialog.setMessage(“上传”+进度+“%”);
}
});
}
}
私有void SelectImage(){
最终字符序列[]项={
“摄像机”,
“画廊”,
“取消”
};
AlertDialog.Builder=新建AlertDialog.Builder(UserDocument.this);
builder.setTitle(“添加图像”);
setItems(items,新的DialogInterface.OnClickListener()对话框){
@凌驾
公共void onClick(DialogInterface,inti){
如果(项目[i].等于(“摄像机”)){
意向意向=新意向(MediaStore.ACTION\u IMAGE\u CAPTURE);
startActivityForResult(意图、请求和摄像头);
}else如果(项目[i].等于(“画廊”)){
意向意向=新意向(Intent.ACTION\u PICK、MediaStore.Images.Media.EXTERNAL\u CONTENT\u URI);
intent.setType(“image/*”);
//startActivityForResult(intent.createChooser(intent,“选择文件”),选择文件);
startActivityForResult(意图,选择文件);
}else如果(项[i].等于(“取消”)){
dialogInterface.dismise();
}
}
});
builder.show();
}
@凌驾
公共活动