如何在Android中的SQLite数据库中存储PDF文件

时间:2011-04-26 10:18:10

标签: android sqlite

实际上,我想在我们的Android手机中下载PDF文件,并且当他尝试通过将手机连接到PC打开时,不希望允许在PC中打开PDF文件。 所以我想将PDF文件存储在SQLite数据库解决方案中。

我的问题是...... 是否可以将PDF文件存储在SQLite数据库中?如果有,怎么样? 或者有没有其他方法来实现相同的功能?

请帮助我......

...谢谢

4 个答案:

答案 0 :(得分:2)

一种解决方案是使用blob并将文件的原始数据存储为db中的列。

我认为其他解决方案最好将文件存储在Internal Storage和数据库中以存储文件路径。内部存储对您的应用程序是私有的,因此没有人可以访问这些文件。但是在这两种情况下都要小心,文件存储在手机存储设备上,当没有手机存储空间时,人们会发现自己的情况。

答案 1 :(得分:1)

你可以。只需读取pdf文件的所有字节并存储在sqlite db的blob字段中。

答案 2 :(得分:0)

AFAIK Sqlite支持BLOB数据类型,我将BLOB用于存储图像到MySql数据库中,我认为你可以做同样的事情来读取文件内容并将其存储到SQLite中的BLOB列中

答案 3 :(得分:0)

您可以使用BLOB数据类型将PDF文件存储在数据库中,但这不是我的建议,因为您可以使用SQLlite。有人说这是将二进制文件存储在数据库中的一种肮脏方式。大型数据库将导致查询速度变慢。

我的解决方案是将PDF文件存储在目录中,并使用指向文件名的字符串指针。这将导致更快的查询和更小的数据库。唯一的缺点是,当您删除条目时,必须编写重命名重复条目和从文件系统中删除文件的功能。

请评论数据库中的(大)二进制文件是否使数据库变慢...