2009 Nov 5th
connection error電波的に圏外のときなどネットワーク接続でエラーが発生した際の処理を追加しました。
WebViewClient を継承している JarticClient で onReceivedError() をオーバーライドして失敗フラグを立てて、 onPageFinished() にてこのフラグを見て表示を切り替えています。ちょっとはまった箇所があったのでいくつか挙げておきます。
  • onLoadResource() でフラグ初期化、 onReceivedError() でフラグ立て、 onPageFinished() でフラグのチェックでうまくいくと思っていたのですが、名前解決ができなかったときなどは内蔵しているエラーページを表示しようとし、ここではエラーにならないのでフラグが初期化された状態になって意図通りに動きませんでした。ということで、フラグの初期化は画像の取得を始めるところに持っていきました。
  • ロード中を示すプログレスダイアログを非表示にする処理を onPageFinished() にだけ置いておいたのですが、ちゃんと消えてくれないので onReceivedError() 内にも置いています。なんか解決方法があるような気がします。
  • そもそもNetworkInfoを使うべきなような気もしますが、以前とあるアプリで Willcom CORE 3G の SIM 経由だとネットワークにつながっていることにならないと判断されたことがあります。そのアプリの中では NetworkInfo が使われていたようなので、今回は利用を避けたのでした。また、サービス圏外・圏内が変わることもあるかなと思ったので、その都度 NetworkInfo で調べるよりは、どうせ WebView を使っているのだしこちらでとも思いました。
Posted by setomits at 12:55 | Comments: 0
Leave a comment
Required fields are marked with *
search
calendar
Feb 2012
SunMonTueWedThuFriSat
   1234
567891011
12131415161718
19202122232425
26272829   
archives
photos on flickr
www.flickr.com