android使用SQLite储存较大文件(图片、音频)的问题

在android开发中我想把一张图片或者一首歌存储在SQLite数据库中,但是考虑到SQLite数据库很小,装不了太多图片或者音频,我就想到了把图片或者音频转换成byte【】形式再进行存储,我想知道这种做法到底靠不靠谱,如果不靠谱请大神们给个思路指点一下,谢谢大家!!!

6个回答

图片和音频最好存在磁盘中,数据库中存相应的路径。

danielinbiti
danielinbiti 回复w1213096890: 可以把文件拷贝到你自己设定的应用目录下。然后数据库路径指向这个拷贝路径
4 年多之前 回复
w1213096890
德莱華 我想在删除了本地文件的情况下还能显示这张图片,不是上传到网路,是用本地数据库
4 年多之前 回复

如果文件不是很大可以用varchar等格式字段存储,或者就是存放文件系统的路径,你的程序读取到路径后再到对应位置读取真正文件内容。

oyljerry
oyljerry 回复w1213096890: 你的方法可行,数据库有一种格式blob就是针对你这种。第二种需要保证文件存在。
4 年多之前 回复
w1213096890
德莱華 我想知道我的这种想法可不可行。你说的第二种方法如果删除了本地文件是不是就显示不了图片了?
4 年多之前 回复

应该没什么问题,不过不能存太多

w1213096890
德莱華 我百度了一下SQLite能存2TB的东西真的假的,要是2TB的话那就很足够用了吧
4 年多之前 回复

你存的时候再压缩一下,读取的解压,性能会损失一点,但是数据库可以存放更多内容,io也会快一点

把大数据存到数据库,绝对的不靠谱,你可以存路径或者是文件名这些信息。

w1213096890
德莱華 SQLite数据库可以存2TB的东西,对于个人来说这个大小应该很够用了吧,但是为什么说SQLite数据库很小呢?
4 年多之前 回复

关键是数据库的读取速度,大数据存到数据库中读取的比较慢,而不是说不能存。要是不考虑速度,你可以测试看看。

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问