从Android中保存SQLite数据库中的图像

时间:2012-12-11 19:48:43

标签: android database image sqlite

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

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

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

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

这是什么理想的解决方案?

2 个答案:

答案 0 :(得分:2)

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

答案 1 :(得分:1)

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

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

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

我也建议:

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