问题描述
我是 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 (将#修改为@)