2

我在 lwuit 中编写了一个应用程序,我使用 RMS 来存储数千条记录,每条记录都有一个唯一的 id。现在我想移植/重写它以使用 lwuit IO 库使其可移植到 CodenameOne,但我遇到了一些挑战:

  1. lwuit.io.Storage 中似乎没有办法像在 RMS 中那样删除记录(我可以使用 Storage.writeObject 和 readObject 创建和检索它们,但不能再次删除它们)
  2. 当我使用 writeObject 写入记录时,它们会被赋予一个名称(字符串),但是我无法检索名称列表以确保再次检索所有这些名称。使用 RMS,我可以获得总列表。
  3. 我想使用 lwuit.io.CacheMap,但找不到一个示例或教程来展示如何将它与 io.Storage 一起使用(lwuit 开发指南甚至没有提到 Cachemap)?

当我有数以千计的记录可以频繁且独立地存储和检索(除了使用原因的 CacheMap ;-)

也许我错过了一些东西,但似乎没有上述功能,从 RMS 移植到 lwuit.io 并不简单。

4

1 回答 1

1

花了一夜,阅读代码而不是文档,并意识到我误解了 Storage 的工作原理;-)。当谈到文件名时,它不是实际 (RMS) 文件,而是 RMS 中的条目。所以,回答我自己的问题:1)使用deleteStorageFile(name)删除;2) 使用 listEntries() ;3)CacheMap其实是在使用Storage的时候自动使用的,不用自己写代码。考虑到这一点,性能将类似于 RMS(如果您之前没有使用任何缓存可能会更好)。

于 2012-04-05T06:28:13.907 回答