2010年6月30日水曜日

次に来る電車の時刻を確認できるアプリを作った

出かけるとき最寄り駅までの道すがらXperiaで電車の時刻表をみようとしたけど、わざわざアプリ起動して駅名入力して表示してってのはやってられない。ってことでこれから乗りたい電車の時刻を簡単に確認するための専用アプリを作ってみました。
まあ、ぶっちゃけていうというとNextTrain for Today(窓の杜の紹介記事)のパ○リというか、Android版にあたるものです。以下に簡単な紹介をのせておきますので、よかったら使ってみてください。
アプリ名:Next Train Notifier
ダウンロード:コチラか下のQRコードからどうぞ。
chart

  • できること
    • あらかじめ用意しておいたNextTrain形式の時刻表データを使って、通知エリアに現在時刻以降に来る3本分の電車の時刻を表示します。
    • 一度表示しておけば、 アプリが起動している間は、1分ごとに自動で更新されます。
    • 例えば自分の最寄り駅の時刻表データを設定して起動しておけば、出かけるときにぴったりのタイミングで電車に乗れたりできるはずです。
  • 使い方
    1. まず表示させたい駅のNextTrain形式の時刻表データ(.TBL形式のファイル)を準備します。 WindowsのPC上で、TrainConvというフリーソフトを使うと簡単に作成できます。
      ※上記以外の方法で作った時刻表データは動作確認してないので、正常に動作しない可能性があります。
    2. 上記のPCとAndroid携帯をUSB接続して、NextTrain形式の時刻表データをSDカードの下記のパス以下に転送します。 NextTrainNotifierフォルダは存在しないはずなので、各自で作ってください。
      /sdcard/NextTrainNotifier
      ※複数配置可能です
    3. Android携帯で、Next Train Notifierを起動すると下記のような画面になります。時刻表データのタイトルがラジオボタンで並ぶので、表示させたいものにチェックした状態で、Startボタンをタップします。
      01
    4. 通知エリアに先程選択した時刻表データから、タイトルと現在時刻以降に来る3本分の電車を表示します。この例だと3つある通知の一番上のものです。
      02
    5. 表示内容は1分ごとに自動で更新されます。この例だと、先程から時間が経過して、次の電車に表示されていた0:29発の赤羽行きが既に出発した後になります。その時はちゃんと次の電車が0:45発の上野行きに更新されます。
      03
    6. 通知が不要になったら、Stopボタンを押すと通知が消えます。
  • でき[て]ないこと
    • Xperiaだけで動作確認しています。バージョン、機種に依存する処理はないと思うので、未確認ですが、一般的なAndroid携帯なら動くはず。
    • アプリを起動してから時刻表データの読み込みが完了するまで、少し時間がかかります。
      • 読み込み部分のロジックを突貫工事で作ったので、今後見なおしする予定
    • アプリ終了後、次回起動時はもういちど時刻表データを選択しなおす必要があります。
      • 設定を保持できるようにする予定
    • 一度に表示できる時刻表データは一種類のみです。
    • 平日ダイヤと休日ダイヤの切り替えは手動で行う必要があります。
    • 常駐アプリじゃないので、アプリが落ちると自動更新が止まります。
      • サービス化して常駐できるようにする予定
    • NextTrain形式のすべての仕様をサポートできていません。TrainConvで作った時刻表データのみで動作確認しています。
    • アイコンは絵心がないので、ありません。
      • 誰かたすけて。あと通知エリアでなぜかアイコンがでかいサイズになるのも困ってる。
今度のアプリは少しはニーズがあるはず。たぶん。