如何重命名从图库中选择的图像,然后再保存到应用程序的目录中

时间:2019-05-10 19:57:24

标签: java android

我试图重命名图像,然后再将其保存在应用程序内部目录的子目录中

这个想法是重命名图像,以便当用户想要用新图像替换它时,可以删除具有相同名称的旧图像。因此,在子目录中的每一点上只有一个具有该名称的图像 当前,我可以从图库中选择图像并将其显示在ImageView中(用于用户个人资料)。

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

        if (requestCode == RESULT_LOAD_IMAGE && resultCode == RESULT_OK && null != data) {
            Uri selectedImage = data.getData();
            String[] filePathColumn = {MediaStore.Images.Media.DATA};

            Cursor cursor = getActivity().getContentResolver().query(selectedImage,
                    filePathColumn, null, null, null);
            cursor.moveToFirst();

            int columnIndex = cursor.getColumnIndex(filePathColumn[0]);
            String iPath = cursor.getString(columnIndex);
            File filePath = new File(iPath);//To get image name
            cursor.close();

            Bitmap image = BitmapFactory.decodeFile(iPath);

            //IMAGE RENAMING PLANNED TO BE HERE

            //ImageView1.setImageBitmap(image); Image displays in ImageView
            saveImage(image);

        }
    }

调用saveImage方法

 private String saveImage(Bitmap image){

         File file = new File(getContext().getFilesDir().getParent().concat("/image" ));

//        FileOutputStream fileOutputStream= null;
            if (!file.exists())
            {
                file.mkdir();
                if (file.exists())
                {
                    Toast.makeText(getContext(), "Created", Toast.LENGTH_SHORT).show();

                }
                else
                {
                    Toast.makeText(getContext(), "NOT created", Toast.LENGTH_LONG).show();
                }
//                fileOutputStream = new FileOutputStream()

            }
            else
            {
                Toast.makeText(getContext(), "Directory exists", Toast.LENGTH_LONG).show();
            }


        return null;
    }

我想做的就是重命名该图像,然后再将其保存到应用程序的默认内部目录中(重命名应在将“ iPath”解码为“图像”之后进行)

0 个答案:

没有答案