前回の記事は、河川水位情報をスマホから見やすくするアプリの作成でした。単なるブックマーク用アプリ、と言えなくもない単純なものですが、それでも使っているとすぐに不都合点が見つかります。ソフトウェアはいつもそうしたものですね。
前回アプリの不都合点:
- 神奈川県内の河川では、あるコード体系でライブカメラ画像にファイル名が付与されているので、プログラムでは、コードから画像ファイル名を復元できた。しかし、他の都道府県や地域の河川はそれぞれが異なる命名規則を持つ。
- 神奈川県の場合、標準的に3枚の画像(河川写真2枚と水位グラフ)を表示できたが、他県では、それらが揃っているとは限らないうえ、別のタイプの画像もある。
- プログラムの造りに少し不満があった。すなわち、複数の画像読み込み要求に応じて、それぞれに個別の受信イベント処理ブロックを作っていた。
- 元の長いファイル名(URL)をそのまま使い、TinyDBを使って(tag, value)の形式で情報を保持する。すなわち、tagを河川名(観測地点名)とし、valueは画像URLを要素とするリストとした。そして、tagのリストをListpickerに設定した。
- これにより、画像の枚数は河川あたり1枚〜3枚まで可変でも不都合がない。
- 複数の画像読み込み要求(Web.get)に対する、画像受信イベントを、ひとつのGeneric Blockで処理するように変更した。拡張性と柔軟性を向上させるため。これに関して、前回との比較を図1に示した。
この改良版で、画像の種類やファイル名の命名規則が異なる全国各地のライブカメラを自由に登録できます。例えば、千曲川沿いの観測点や、北海道釧路川の観測点なども登録してみました。その使用例を図2に示します。
0 件のコメント:
コメントを投稿