【问题标题】:How to select an image from internal storage and insert it in SQLite?如何从内部存储中选择图像并将其插入 SQLite?
【发布时间】:2013-06-15 19:28:31
【问题描述】:

当用户点击我的应用程序中的按钮时,他必须能够从内部存储(SD 卡或平板电脑/手机内存)中选择图像。然后,我希望将此图像存储在 SQLite 数据库中。

所以有三个问题:

  • 如何向用户显示图库或文件资源管理器,以便他导航和选择图像?
  • 应用如何知道选择了哪张图片?
  • 我的应用程序如何将图像存储在数据库中(BLOB 数据)?

【问题讨论】:

标签: android image sqlite gallery storage


【解决方案1】:

好的,正如 Lingviston 已经指出的那样。您可以从here 的图库中选择图片。

至于存储图片,我将稍微修改一下链接中的代码。

而不是这个:

ImageView imageView = (ImageView) findViewById(R.id.imgView);
        imageView.setImageBitmap(BitmapFactory.decodeFile(picturePath));

我要将所选图像存储在Bitmap 中。

ImageView imageView = (ImageView) findViewById(R.id.imgView);
Bitmap mBitmap = BitmapFactory.decodeFile(picturePath);
        imageView.setImageBitmap(mBitmap);

现在要在android中存储为BLOB类型,您需要将位图转换为字节,然后将字节数组存储在sqlite数据库中。

                ByteArrayOutputStream stream = new ByteArrayOutputStream();
                mBitmap.compress(Bitmap.CompressFormat.PNG, 100, stream);
                byte[] imageInByte = stream.toByteArray();

现在您只需将imageInByte 传递到SQLite 数据库中即可。

作为旁注,这两个答案都已经在互联网上和StackOverflow 单独提供,您只需将 2 和 2 放在一起。请在发布问题之前尝试彻底搜索。

【讨论】:

    猜你喜欢
    • 2021-09-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-02-28
    • 1970-01-01
    相关资源
    最近更新 更多