1

私の質問に非常に近いこの投稿を読みましたが、探していたものが見つかりませんでした。

私は、2 つのプレーンテキスト ファイル (weekdays.txt と year.txt としましょう) に依存するアプリケーションを開発しています。1 つのファイルには 7 行 (まだ定義されていません) が含まれている可能性が高いため、非常に小さい (数バイト) ですが、もう 1 つのファイルには 365 行 (年間 1 日につき 1 行) が含まれ、バイト数はそれほど大きくありません (20 Kb のトップ、私の推測)、より多くの処理能力が必要です。

アプリはまだ完成していないので、明確にしようと思います:

したがって、私のアプリケーションは現在の日付と時刻を取得し、weekdays.txt で現在の曜日に対応する行を探し、その行の情報を解析してメモリに保存します。その後、プログラムは year.txt を読み取り、現在の日付に対応する行を探し、その行の情報を解析 (およびメモリに保存) する必要があります。

次に、保存されているすべての情報を出力する必要があります。

「情報を解析する」と言うときは、文字列を解析することを意味します。次のような単純なものです。

文字列「7*1234-568」は次のように読み取られる必要があります。

String ID=7;
int postCode=1234;
int areaCode=568;

ここでの目標は、すぐに使える軽量の (そしてオフラインで、これは非常に重要な) アプリケーションを作成することです。
ご覧のとおり、これは開発 101 レベルのアプリケーションです。私の質問は次のとおりです。これはどの携帯電話でも負担が大きすぎると思いますか? 私がこれを尋ねている理由は、私のアプリが今日の可能な限り多くの携帯電話で機能するようにしたいからです.

ところで、この種の作業では、代わりにデータベースを使用する必要があると思いますか? フォーラムのあちこちで RMS について話しているのを聞いたことがありますが、RMS は限定的なものだと言う人もいました。とにかく、txtファイルのアイデアは、必要な場合に備えて、ユーザーが更新するのが最も簡単であることでした...

前もって感謝します!

4

2 に答える 2

2

構成ファイルが読み取り専用で、時間の経過とともに変更されない場合は、それらを jar 内に含めることができます。Class.getResourceAsStreamInputStream を返すを使用してそれらを読み取ることができるはずです。366 行 (閏年を思い出してください) と 80 列の ASCII ファイルは約 29KB であるため、10 年前の電話でも大きな問題なく読み取ることができます (ただし、IO は別のスレッドで実行することを忘れないでください)。

構成が変更される可能性がある場合は、おそらく WS を作成し、電話機にインターネット経由で構成を取得させたいと思うでしょう。オフライン機能を提供するには、リモート DB と定期的に同期し、情報をデバイスに保存します。RMS はレコードベースで、最大サイズ (デバイスに依存) がありますが、あなたの場合は問題ないと思います。このアプローチの欠点は、少なくとも最初の同期を行う必要があるため、データ プランのない電話は除外されることです。

于 2013-09-16T12:12:53.553 に答える
0

要件の 1 つはオフラインで行うことなので、RMS を使用することをお勧めします。エラーやファイルの破損が発生しやすいため、このような重要なデータに j2me でファイルを使用することに自信がありません (現在は改善されているかどうかはわかりません)。

保存しようとしているデータの量が、あなたが言うように、週で 7 行、年で 365 行であれば、RMS に問題はありません。

幸運を!

于 2013-09-16T07:47:33.430 に答える