在 Android Studio 中片段从图库加载和存储图像到 SQLite 数据库

问题描述

我是 Android Studio 的新手,我正在尝试从图库上传图像,然后将其加载到屏幕上并将其存储在我已有的数据库中。这是一个片段活动。对于上下文,我正在制作一个图书数据库,并希望存储每个图书条目的封面图像。我从互联网上找到了一个代码,它允许我打开图库并根据我喜欢的比例裁剪图像,但是当我点击确定时,ImageView 上没有任何显示

这是 .xml 片段

<ImageView
                android:id="@+id/iv_addbookactivity_cover"
                android:layout_gravity="center_horizontal"
                android:layout_width="160dp"
                android:layout_height="256dp"
                android:layout_marginTop="20dp" />

            <Button
                android:id="@+id/bt_addbookactivity_upload"
                android:layout_width="100dp"
                android:layout_height="wrap_content"
                android:layout_marginTop="15dp"
                android:text="Upload"
                android:fontFamily="@font/montserratregular"
                android:textColor="@color/white"
                android:layout_gravity="center"
                android:background="@color/colorTextLink"/>

这是 Java 类片段

private void addImage()
    {
        Intent galleryIntent =new Intent();
        galleryIntent.setType("image/*");
        galleryIntent.setAction(Intent.ACTION_GET_CONTENT);
        startActivityForResult(Intent.createChooser(galleryIntent,"SELECT IMAGE"),REQUEST_CODE_galLERY);
    }

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

        if(requestCode == REQUEST_CODE_galLERY && resultCode == RESULT_OK){
            Uri imageUri = data.getData();
            CropImage.activity(imageUri)
                    .setAspectRatio(5,8)
                    .start(getActivity());
        }

        if(requestCode == CropImage.CROP_IMAGE_ACTIVITY_REQUEST_CODE) {
            CropImage.ActivityResult result = CropImage.getActivityResult(data);
            if (resultCode == RESULT_OK) {
                Uri imageUri = result.getUri();

                Picasso.get().load(imageUri).into(CoverPage);
                

            }else if(requestCode == CropImage.CROP_IMAGE_ACTIVITY_RESULT_ERROR_CODE){
                String error = result.getError().toString();
                Log.d("Exception",error);
                Toast.makeText(getActivity().getApplicationContext(),"Crop Image Error",Toast.LENGTH_SHORT).show();
            }
        }
    }

这是我在按钮点击时调用函数的地方:

Upload = getView().findViewById(R.id.bt_addbookactivity_upload);
        Upload.setonClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                addImage();
            }
        });

我也没有想出如何将图像存储到数据库中。我尝试的一些方法失败了,所以我将它恢复到初始状态,那里还没有代码。如果可能的话,有人也可以建议一种方法吗?

谢谢。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)