2010-01-26 47 views
1

我一直在尋找通過黑莓的文檔,他們勾勒出3個不同的機制,堅持應用程序數據:策略在黑莓應用程序的持久化數據

  1. 持久存儲API
  2. MIDP RMS API
  3. 文件系統API

我想了解一下下面的事情...

  1. 每種方法的優缺點是什麼
  2. 是否存在可以存儲的最大數據量?我不太關心單個對象的大小和總大小。例如,對於持久性存儲,過去存在64K的限制,但在最新版本的軟件中擴展到了幾MB。但是,我無法找到可存儲的最大尺寸的任何細節。
  3. 被認爲是保持數據「最佳方式」的方法之一?
  4. 任何人都會建議的其他持久性機制(如SQL-Lite)?

回答

2

我們使用持久存儲API,因爲它是真正的持久存儲,即使在設備重啓時也是如此。事實上,它幾乎是太持久了,因爲當應用程序被刪除時,您的持久數據不會從設備中刪除(除非您堅持自定義對象,我認爲)。存儲空間僅限於可用的閃存 - 沒有每個應用程序的配額。

編輯:刪除不正確的評論有關RMS

+0

這是一個重要的區別。如果數據突然消失,會造成很大的麻煩。 如果有一個「卸載」事件發送到應用程序,它可能會很有用,然後清理它的數據。 – yamspog 2010-01-27 18:39:35

+0

RMS數據確實在重新啓動後仍然存在。 – Richard 2010-01-27 18:42:15

+0

謝謝理查德,我從答案中刪除了錯誤的陳述 – 2010-01-27 21:09:11

0

與RMS的問題是,該數據通常(但並不總是)不會在應用升級持續。因此,如果您使用RMS,則用戶每次升級到新版本時都可能需要重新配置應用程序。這可能或可能不是一個問題。

恕我直言,最好的方式是永久存儲(如果你不介意代碼簽名),否則它的RMS。有一點需要記住的是,儘管PS看起來簡單得多,但是對應用程序更改使持久數據更加健壯,這使得它再次變得複雜。這就是爲什麼我將配置數據類與實際持久保存的類分開的原因。

現在,如果你想要的文件風格的東西有點比高速緩存或配置對象較大幅度的海量存儲,你可能想看看FileConnection API將。這爲您提供了更多可用的存儲空間。