2012-04-04 26 views
2

我在lwuit中編寫了一個應用程序,我使用RMS來存儲數千條記錄,每條記錄都有一個唯一的ID。現在我想端口/重寫它使用LWUIT IO庫,使之移植到CodenameOne,但我碰到的一些挑戰:如何最好地使用lwuit.io庫來重寫lwuit應用程序?

  1. 似乎沒有要在lwuit.io.Storage方式刪除一個類似於RMS的記錄(我可以使用Storage.writeObject和readObject創建和檢索它們,但不能再刪除它們)
  2. 當我使用writeObject寫入記錄時,它們被賦予一個名稱(String),但我無法檢索名稱列表以確保我再次檢索所有名稱。有了RMS,我可以得到全部清單。
  3. 我想使用lwuit.io.CacheMap,但一直沒能找到一個示例或教程來展示如何使用它與io.Storage(lwuit開發指南甚至沒有提到Cachemap)?

我會很感激有關如何使用IO庫achive不錯的表現時,我有上千條記錄可存儲,並經常和獨立檢索(除了使用原因;-)

也許我的用cachemap提示錯過了一些東西,但是似乎沒有上述功能,從RMS移植到lwuit.io並不容易。

+0

僅供參考如果文檔以某種方式偶然發現了錯誤,請提供改進建議。謝謝。 – 2012-04-05 10:52:14

+0

此鏈接也是非常有用的: [http://stackoverflow.com/questions/11275975/how-to-use-codename-one-storage][1] [1]: http://stackoverflow.com/questions/11275975/how-to-use-codename-one-storage – Nikhil 2012-07-23 09:43:47

回答

1

花了一夜,閱讀代碼而不是文檔,並意識到我誤解了存儲的工作原理;-)。當它談到文件名時,它不是實際的(RMS)文件,而是進入RMS的條目。所以,回答我自己的問題:1)刪除使用deleteStorageFile(名稱); 2)使用listEntries(); 3)CacheMap實際上是在使用Storage時自動使用的,所以不需要自己編寫代碼。考慮到這一點,性能將與RMS類似(如果您之前沒有使用任何緩存,可能會更好)。

相關問題