2014-02-27 38 views
0

我正在編寫應用程序(一種簡單的CRM),其中用戶應該能夠將附件附加到手動創建的註釋中。該筆記具有簡單文本的形式,附件可以是PDF或由用戶創建的照片,或將來可能是任何其他合理的文檔。在哪裏存儲Android應用程序的附件?

該應用程序通過ContentProvider使用SQLite數據庫。數據庫的內容應該通過Web服務與中央服務器同步。

我正在考慮專用於附件的數據庫表。這樣,附件將通過附件表的按鍵添加到筆記中。與中央服務器同步時,表可以與應用程序的其他數據庫部分分開同步。

現在的問題:應用程序如何存儲附件?比如說,這些照片可能應該與圖庫分開存放。此外,PDF文檔應存儲在與應用程序相關的磁盤空間中(比如說安全原因)。附件數據庫表應該只存儲對文檔的引用,還是應該考慮SQLite blob?或者,讓用戶有選擇地告訴附件要存儲在哪裏是否合理? (我的意思是內部存儲與外部存儲[microSD卡]。)在這些情況下,我應該期待什麼樣的專業版和控制檯?

回答

1

android guidlines表示你應該只在內存中存儲大約1 MB,而你幾乎可以在SD卡上存儲所有內容。但請記住,所有具有在SD卡上寫入權限的應用程序都可以讀取它,所以您應該加密數據。

從android 4.4開始,你也可以使用應該受到保護的外部緩存目錄。但是,在根植設備上,這也不會保護數據。

+0

對不起,我的術語不好。我的意思是*內部存儲*與*外部存儲*,而不是內存。直接轉到wha我很擔心:您會使用blob來存儲文件內容,還是更喜歡經典文件? – pepr

+0

我不確定你在這方面的含義是什麼。我會存儲加密的文件。 – rekire

+0

我的意思是SQLite blob類型,該文件的內容以字節形式存儲在SQLite數據庫的數據類型中,即不直接存儲在文件系統中。我提到* security *,但實際上,我不需要加密。該應用程序不需要那麼安全。我只想將數據保存在應用程序空間中。 – pepr

相關問題