【发布时间】:2020-11-23 00:05:57
【问题描述】:
我正在制作一个应用程序,用户可以在其中选择手机相册中的图像并将其存储到 sqlite 数据库中的表中,我在这里看到了很多关于这个问题的帖子,但无法理解解决方案(他们也没有工作对我来说),在我的活动中,我有一个 imageview,点击它会打开相册并允许用户选择一个图像,而且我还有一个按钮,点击它会将图像存储在 sqlite 数据库中,我只能选择图像,但在那之后我被卡住了,我在我的代码中使用了这个方法:
public void getImage(View view) throws IOException {
ImageView v=(ImageView)view;
Intent photoPickerIntent = new Intent(Intent.ACTION_PICK);
photoPickerIntent.setType("image/*");
startActivityForResult(photoPickerIntent,1);
}
public void onActivityResult(int reqCode, int resultCode, Intent data) {
super.onActivityResult(reqCode, resultCode, data);
if (resultCode == RESULT_OK) {
try {
final Uri imageUri = data.getData();
final InputStream imageStream = getContext().getContentResolver().openInputStream(imageUri);
final Bitmap selectedImage = BitmapFactory.decodeStream(imageStream);
image.setImageBitmap(selectedImage);
} catch (FileNotFoundException e) {
e.printStackTrace();
}
}
}
现在我应该怎么做才能将图像存储在数据库中?
【问题讨论】:
-
您可能不想将 blob 存储在关系数据库中。
-
我找到了一个解决方案,说我可以将图像作为文件存储在应用程序本身中,并将该文件的路径存储在数据库中,但没有提供解释性代码,所以我不知道关于这个
-
是的,存储路径应该没问题。
-
你能帮我看看这个代码教程吗?
-
检查stackoverflow.com/questions/15662258/… 了解如何将位图存储到内部存储。同样的问题也解决了获取文件名的问题。
标签: java android android-sqlite