【问题标题】:Save image in SQLite database from Android从 Android 将图像保存在 SQLite 数据库中
【发布时间】:2012-11-29 10:16:49
【问题描述】:

我有一个关于将图像保存在应用程序中的 SQLite 数据库位置的问题。

我为 iOS 制作了一个应用程序,用户可以在其中拍摄照片或从应用程序中抓取现有照片,然后将他们保存在自己的应用程序中的本地银行中,因为 IOS 没有太多磁盘空间问题。

在 Android 上已经有代码可以拍摄照片或使用现有的,现在想知道如何将它们保存在 SQLite 数据库中。 (?)

我一直在阅读,有人建议将图像保存在 SD 卡中并仅将图像路径插入数据库,但如果由于某种原因将其从 SD 卡中排除,则您的应用程序中的路径会出错引用的不再存在。

什么是理想的解决方案?

【问题讨论】:

  • " 因为 IOS 没有那么多磁盘空间问题。"什么问题?你明白在 SQLite 中存储图像将占用至少与“将其写入磁盘”一样多的空间吗?
  • 同意西蒙^,没有区别。
  • 我称之为aprelhos,我用有限的硬件进行测试,在没有SD卡的情况下我只有100MB的存储空间,并且有一些已安装的应用程序和一些图像一次保存在数据库中,或者另一个会出问题... IOS内存中的最小磁盘存储空间已经是8GB

标签: android database image sqlite


【解决方案1】:

您应该只将图片的名称保留在数据库中,并将图片存储在内部存储中,而不是存储在 sdcard 上,首先将它们保存为仅对您的应用程序私有。

【讨论】:

    【解决方案2】:

    理想的解决方案是将其存储在 SD 卡中。存储在数据库中不会阻止用户删除它。如果用户清除应用数据,您也会丢失此信息。当用户执行此操作时,所有数据库都会被删除。

    无论如何,如果您选择 SQLite 解决方案,您可以使用 blob 字段。请记住,某些版本的 SQLite 不支持大型 blob 数据。看看这个:

    http://effbot.org/zone/sqlite-blob.htm

    我也建议这样做:

    http://developer.android.com/training/displaying-bitmaps/cache-bitmap.html

    【讨论】:

      猜你喜欢
      • 2012-12-16
      • 1970-01-01
      • 2016-06-25
      • 2020-02-10
      • 2019-04-02
      • 2013-10-04
      • 2013-07-01
      • 1970-01-01
      • 2020-11-30
      相关资源
      最近更新 更多