2012-04-04 14 views
2

私はRMSを使って数千のレコードを格納するlwuitにアプリケーションを作成しました。各レコードは一意のIDを持ちます。今私はポートに/ CodenameOneにそれを移植するためにLWUIT IOライブラリを使用するように書き換えたいが、私はいくつかの課題に遭遇しました:lwuit.ioライブラリを使用するためにRMSを使用しないようにlwuitアプリケーションを書き直すにはどうすればよいですか?

  1. lwuit.io.Storageにおける方法はないようですRMSのようなレコードを削除するには(Storage.writeObjectとreadObjectを使ってそれらを作成して取得できますが、それらをもう一度取り除くことはできません)
  2. writeObjectでレコードを書き込むと、名前のリストを取得して、それらのすべてを再度取​​得できるようにする方法はありません。 RMSを使用すると、全体のリストを取得できます。
  3. 私はlwuit.io.CacheMapを使用するようにしたいのですが、io.Storage(LWUIT開発ガイドもcachemapを言及していない)と、それを使用する方法を示す例やチュートリアルを見つけることができませんでしたか?

私は頻繁に独立して保存し、検索することができる何千ものレコードを持っているとき、私は;-)原因のcachemapをを使用して超えて(

をIOライブラリとの良好なパフォーマンスをachiveする方法のヒントをいただければと思います

たぶん私は上記の機能がなければ、RMSからlwuit.ioへの移植は簡単ではないようです。

+0

参考文書が何らかの形であなたを驚かせた場合は、改善のための提案をバグとして報告してください。ありがとう。 –

+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

答えて

1

夜を過ごした後、ドキュメントの代わりにコードを読んで、Storageがどのように動作するかを誤解していることに気づいた。ファイル名については、実際の(RMS)ファイルではなく、RMSへのエントリです。だから、自分の質問に答えるには:1)deleteStorageFile(name)を使って削除する。 2)listEntries()を使用します。 3)CacheMapは実際にStorageを使用しているときに自動的に使用されるので、自分でコード化する必要はありません。これを念頭において、パフォーマンスはRMSと似ています(以前はキャッシュを使用しなかった方が良いでしょう)。

関連する問題