2 w1213096890 w1213096890 于 2015.07.07 22:12 提问

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

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

7个回答

danielinbiti
danielinbiti   Ds   Rxr 2015.07.07 22:55
已采纳

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

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

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

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

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

w1213096890
w1213096890 我百度了一下SQLite能存2TB的东西真的假的,要是2TB的话那就很足够用了吧
2 年多之前 回复
edouardzyc
edouardzyc   2015.07.08 09:31

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

zzbinfo
zzbinfo   2015.07.08 09:38

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

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

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

zzbinfo
zzbinfo   2015.07.09 11:51

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

Csdn user default icon
上传中...
上传图片
插入图片