2011年01月20日

WebViewはDonutで使えない?

簡易ヘルプがやはり見づらいなと思ったので、HTMLにすることにしましたですよ。(怪しい日本語復活(笑))
具体的にはカスタムダイアログにTextViewを載せて、そこに簡単な使い方をオフラインで見ることができるようにしていたのですが、箇条書きの先頭に中黒(・)とかの記号を使っても二行目から字下げされず見づらいので、HTMLでリストを使えば良いかなという単純な発想でした。確かWebを読み込ますViewにオフラインのファイルを読み込むこともできたはず、と思ってやり方をググると、assetsフォルダにファイルを置いてアクセスできるとのことで、コードはいずこでも下記のようになってますです。

WebView webView = (WebView)findViewById(R.id.help);
webView.loadUrl("file:///android_asset/help.html");

しかし、これがどーしてもできない!
ごく単純なコードですし、help.htmlも確かにassetsフォルダに格納されてます。
なぜできないんだあ!?

こんな簡単そうなところでハマるとは思わなかったですけど、普通の人がはまることのない簡単なところではまるのが、自分の愚かしさの真骨頂というところでしょうか?

ふと疑問に思ったのは、xmlファイルで<WebViewと入力しようとしても、eclipseが入力補完してくれないこと。
最初はあまり気にしなかったのと、今回のアプリはAPI LEVEL4つまり1.6をターゲットとして作成しているのですが、ReferenceでWebViewはAPI LEVEL1と書かれているので、当然使えると思ってました。
しかし、どうしてもうまくいかないので、2.2(froyo)のバーチャルデバイスで試してみると……やはり動かない。

でも、自分の書き方がヘボいのかも知れない。そう思って、ごく単純な構造のアプリを作ってみて再度試したところ、2.2ではOK!
そして、2.1でも試しましたが、これもやっぱりNG!
え?2.2でしかダメなの?
ほとんど最新じゃないですか?
なんだか信じられない……
そもそも、同じようにダイアログでHTMLでフォーマットされているようなヘルプを載せているアプリもあるし、それが1.6の端末で動いていますしね。

ただ、この完成直前に来て、ヘルプで時間を取っている訳にはいきません。ほとんど丸一日つぶしてしまったし。(もったいない)
それに他でも中黒の後字下げなしでヘルプを作っている人も散見されるので、少々すっきりしませんが、今回は目をつぶってHTMLは諦めることにしましょう。
後々のお楽しみ(?)ということで。

(2011/2/21追記:http://shironiji.sblo.jp/article/43532936.html?1298297282にてうまく行きました)
posted by 白虹 at 21:30| Comment(0) | TrackBack(0) | Android開発