私は現在、フェリーのスケジュールを表示するAndroidアプリケーションを持っています。アプリケーションは完全なスケジュール(巨大なリストのみ)を表示できますが、アプリケーションのセールスポイントは、次の2つのフェリーが出発する時刻と、現在の出発時刻からの時間の長さを表示することです。
私はJavaに比較的慣れておらず、現在、コードで大きなSwitch()ステートメントを使用しています。基本的に、現在の電話時刻を取得し、それをスケジュール内のすべての時刻と比較します。その時点で、次の2つの出発時刻が表示され、現在の時刻と出発時刻の差が計算されます。
switchステートメントは、速度の目的だけでなく、コードの変更の目的にも最適ではないと確信しています。たとえば、一度変更すると、その1回の変更を修正するために、一連のコード行が変更されます。また、スケジュール全体が変更された場合、時間の変更を有効にするには、全員がアプリを更新する必要があります。私の理想的な状況は、時間の変更があった場合に新しいスケジュールをロードするファイルをダウンロードしてハッシュマップに挿入できるファイルをWebサーバーのどこかに保存することです(これは正しい用語だと思います)。
これがどれほど混乱しているのかはわかりませんが、誰かが私がハッシュマップを使用する方法や、このタスクを実行するために推奨する他の何かを説明していただければ幸いです。現在、変数は2つのフェリーターミナルと、1日ごとにスケジュールが変更されるため、曜日(月曜日、火曜日-金曜日、土曜日、日曜日)です。
以下はアプリケーションのスクリーンショットですので、私の投稿が明確でなかった場合でも理解できます。前もって感謝します。
スクリーンショット: