スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

ブログランキング・にほんブログ村へ

--.--.-- | スポンサー広告

Android開発 #12 jNTrain

乗換え先の時刻表表示がめどがつきそうなので、次のステップとしてWEBからの時刻表取得を実装してみる予定。


この部分はJNTrainWMでは実装していなかったので、目新しくてちょっとワクワクしてたり。 情報元ソースは「えきから時刻表」かなぁ。 TrainConvでコンバートしていたときに利用していたところなので。


時刻表を取得するということで、xmlなんかで配信しているサイトがあれば一番いいんだけどね、そういうのは残念ながら発見できていない。 ということで、urlを叩いて取得できるhtmlソースを文字列解析して時刻表を構築するしかない。

というわけで解決しなきゃいけない問題はこんだけある。

・htmlソースからの時刻表取り出し
・時刻表の検索方法
・http通信の方法


・htmlソースからの時刻表取り出し
 極端な話、読みやすく整形されたtblファイルから取得するか、必要な情報以外も含まれているhtmlソースから取得するかの違いだけなので、技術的には難しいことは無いはず。 面倒だけどね。

・時刻表の検索方法
 駅を特定さえすればurlが決定してhtmlソースの取得が出来るわけだけど、その駅の特定方法が問題。 urlにてパラメータで指定する方法ならば大丈夫なんだけど…

 と、思ってちょっと調べてみたら、urlでのパラメータで駅名の文字列検索が簡単に出来そう。 漢字はそのまま渡せなくてShift-Jisでの記述が必要のようだけど。

 路線名称の検索ならば路線の一覧が表示されて、そこからのリンで路線内の駅一覧が表示できるし、駅名称の検索ならばいきなり駅一覧が表示可能。 後は駅一覧のリンクで時刻表のページが取得できるので、そんなにメンドくさくなさそうっすよ。

・httpの通信方法
 これはWindowsMobileではURLを発行することで取得ページをファイルI/Oクラスのイメージでアクセスでき、socket通信って何ってな人間でもさっくり通信出来ちゃう便利なAPIがありました。
 Androidではどういう感じなんだろうと調べてみると…

  1.URLクラスのインスタンス作成(このときにurlを指定)
  2.URLクラスのopenConnection()関数でHttpURLConnectionを取得
  3.HttpURLConnectionに対してGETリクエスト発行
  4.HttpURLConnectionのconnect()関数コール
  5.HttpURLConnectionのgetInputStream()にてインプットストリームを取得
  6.インプットストリームから読み出し

 大体こんな感じ。WMと大差ないですね。
 インプットストリームまでたどり着けば後はファイルアクセスと変わらないので後はどのように解析していくか。

 うん、何とかなりそうなので、次のリリース後ぐらいには手をつけていけそう。

テーマ:フリーソフト - ジャンル:コンピュータ

ブログランキング・にほんブログ村へ

2011.06.07 | Comments(1) | Trackback(0) | Android

コメント

管理人のみ閲覧できます

このコメントは管理人のみ閲覧できます

2011-06-07 火 15:53:08 | | # [ 編集]

コメントの投稿


秘密にする

«  | HOME |  »

FC2Ad

03 | 2017/04 [GO]| 05
- - - - - - 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 - - - - - -

最近の記事一覧 カテゴリ一覧 コメント一覧 トラックバック一覧 プロフィール リンク一覧
[カテゴリ]
WEBコンサルティング・ホームページ制作のバンブーウエイブ

ブログ内検索

ブロとも申請フォーム

この人とブロともになる

カスタム検索

上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。