2011-04-26 61 views
1

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

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

请帮我...

谢谢...

回答

1

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

+0

感谢您的回复。 我是完全新的Android开发,所以你可以帮我一些示例代码如何将PDF转换为字节和存储在blob中...... – KRISHNA 2011-04-27 05:53:05

0

AFAIK SQLite的支持BLOB数据类型,我用于存储图像BLOB到MySQL数据库,我想你可以做同样的事情读取文件内容并存储成BLOB列的SQLite

0

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

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

请评论,如果(大)在数据库中的二进制文件使数据库更慢......

2

一种解决方案是使用BLOB和文件的原始数据存储在数据库列。

其他解决方案,我认为最好将这些文件存储在Internal Storage上,并在db中存储文件路径。内部存储器对于您的应用程序是私人的,因此没有人可以访问这些文件。但是,在这两种情况下都要小心,这些文件存储在电话存储器中,并且当没有更多电话存储时,人们可以发现自己处于这种情况。

+0

感谢您的答复.... 我是全新的android你能帮我一些代码示例如何使用blob存储PDF文件。 我发现的一件事...,将PDF转换为字节数组并存储在Blob中....但不能将PDF数据转换为字节数组。 谢谢... – KRISHNA 2011-04-27 05:41:39

+0

你不必关心什么是PDF的内容只是将文件转换为字节数组。 http://stackoverflow.com/questions/858980/file-to-byte-in-java – 2011-04-27 06:52:45

+0

有一件事亲爱的MOJO ...如果PDF文件是在这种情况下图像和文本的混合物,我们简单地将其转换为字节,但再次我想转换成PDF文件并在Android手机中显示如何? 如果可能的话,帮助我一些代码示例。 – KRISHNA 2011-05-02 09:53:45

相关问题