2011-04-26 91 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

相關問題