首页 > 解决方案 > 将图片保存在某个存储位置并将其路径存储到 SQLite 数据库表中

问题描述

我正在使用 SQLite 开发应用程序,我希望能够为用户选择个人资料图片(将保存在本地)。基本上我有一个裁剪活动,我想选择一张图片,裁剪并压缩它,然后我想将它保存在手机中的某个存储路径中,不会被清理缓存删除,也不会在手机图库(重要)。同时,我希望将新路径保存在我的 SQLite 数据库中,以便在需要时将其快速加载到 ImageView 中。

这是我在测试 ImageView 中加载、裁剪、压缩和预览图片的代码。

public void chooseProfilePicture(){
        CropImage.activity().setGuidelines(CropImageView.Guidelines.ON).setAspectRatio(1,1).start(this);
    }

    @Override
    protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) {
        super.onActivityResult(requestCode, resultCode, data);
        if(requestCode == CropImage.CROP_IMAGE_ACTIVITY_REQUEST_CODE)
        {
            CropImage.ActivityResult result = CropImage.getActivityResult(data);
            if(resultCode == RESULT_OK)
            {
                assert result != null;
                profileImageURI = result.getUri();
                File thumbnailURI = new File(Objects.requireNonNull(profileImageURI.getPath()));
                try
                {
                    compressedImageFile = new Compressor(activity_user_data.this)
                            .setMaxHeight(400)
                            .setMaxWidth(400)
                            .setQuality(90)
                            .compressToBitmap(thumbnailURI);
                }
                catch (IOException e)
                {
                    e.printStackTrace();
                }
                ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream();
                compressedImageFile.compress(Bitmap.CompressFormat.JPEG, 90, byteArrayOutputStream);
                profilePicker.setImageBitmap(compressedImageFile);
                isImageSelected = true;
            }
            else
                if(resultCode == CropImage.CROP_IMAGE_ACTIVITY_RESULT_ERROR_CODE)
                {
                    assert result != null;
                    Exception error = result.getError();
                }
            }
        }

标签: androidsqliteandroid-sqlitejava-ioandroid-image

解决方案


推荐阅读