iアプリでブラウザを作る Canvas編 とりあえず考える

今ちょっと実装する時間がないので、
考えだけをまとめておこうかな。

iアプリでブラウザを作る Canvas編で考えたフローをたいして、
ポイントを押さえておこう。

デフォルトの画面が表示される

CanvasのRunnnableからのThreadでloop
まぁこれは当たり前ですかね。

ボタンを押すとURLが表示される?

まぁ、URLバーみたいなものが表示される。
これはCanvasでごりごり表示されることになるだろう。
すでにURLが入力されていたら、それも含まれて表示かな。

さらにボタンを押すとURLを入力モードになる→入力完了

imeOnをコールして、携帯上のネイティブな入力機能を起動。

入力したURLが表示される?

入力し終わると、processIMEEventがコールバックとして
呼ばれるので、そのメソッドの中で、画面表示を行う。
入力されたURLを画面に表示させればいいかと。
なくてもいい気もするけど。

さらにボタンを押すとリクエストが走る

ボタンを押した場合のメソッドを用意し、リクエストを走らせる。
別スレッド等はまだ考えない。

(画面がロックされる)

上のメソッドが返ってくるまで待つ。

また、HTMLソースが表示されるw

返ってきたHTMLを改行毎にsplitを行う。
画面表示用のフィールド変数か何かに代入して、
CanvasのdrawStringでレンダリングを行う。

マウスを十字キーで動かすとソース上を縦横無尽に動ける

iアプリでブラウザを作る マウス実装完了で作ったライブラリを選択してあるので、
Mouseを各種実装する。
画面スクロールもできないので、何の意味もないが。

2つ目の、「ボタンを押すとURLが表示される?」に戻る

初期表示Canvasと同じもので表示を行っているので、
また同じ操作を行えば、うえと同じ処理が可能。
ただし、どこかのタイミングで、HTMLを代入した変数を初期化する必要がある。


見つかった問題点

  • マウスと画面スクロールの関係が考えられていない。
  • リクエストの別スレッド化