Android Studio - 如何从图库中获取图像然后保存

Android Studio - How do you get image from gallery and then save it

我有一个包含按钮的应用程序。当您按下按钮时,应用程序会将您转到手机 phone 的图片库。然后你 select 图像,它将出现在按钮上方的图像视图中。这一切都没有问题,但唯一不好的是当我关闭并重新打开应用程序时。图像消失了。有人知道这样做的方法吗?

代码如下:

Button imageButton = (Button) findViewById(R.id.pictureButton);
        imageButton.setOnClickListener(new View.OnClickListener(){
            @Override
            public void onClick(View v) {
                Intent i = new Intent(Intent.ACTION_PICK,android.provider.MediaStore.Images.Media.EXTERNAL_CONTENT_URI);
                startActivityForResult(i, 1);
            }
        });

这是用于打开图库的按钮。

protected void onActivityResult(int requestCode, int resultCode, Intent data) {
        super.onActivityResult(requestCode, resultCode, data);
        if (requestCode == 1 && resultCode == RESULT_OK && null != data) {
            Uri selectedImage = data.getData();
            String[] filePathColumn = { MediaStore.Images.Media.DATA };
            Cursor cursor = getContentResolver().query(selectedImage,filePathColumn, null, null, null);
            cursor.moveToFirst();
            int columnIndex = cursor.getColumnIndex(filePathColumn[0]);
            String picturePath = cursor.getString(columnIndex);
            cursor.close();
            ImageView imageView = (ImageView) findViewById(R.id.userPicture);
            imageView.setImageBitmap(BitmapFactory.decodeFile(picturePath));

        }

这是处理获取图片并将其显示在应用程序上的代码。

至于我如何保存数据,我对文本、复选框和滑块使用共享首选项。但它只对图像不起作用。

所以我想要保存图像,以便在我重新打开应用程序时加载它。

U 可以将 picturePath 字符串保存到文件中。一个非常简单的方法是使用 Properties object。 然后每次打开activity,打开属性文件,读出保存的路径。然后你可以用你已有的部分代码重新设置它。