新人成長記録20th

前回の記事では、WebViewがどのようなものかを学習しました
前回の終わりに書いたように、今回はWebViewとJavaScriptの連携について学習していきたいと思います

JavaScriptからAndroid

JavaScriptからAndroidのメソッドを実行する方法です

まずは、JavaScriptから実行したいメソッドを含んだクラスを作成します

JavaScriptからは、showToastメソッドを実行します
Android4.2以降では、@JavascriptInterfaceのアノテーションを追加する必要があります
今回は、単純にhtml内のボタンを押したら、Toastが出るようにします

では、メインのクラスを作成します

addJavascriptInterfaceメソッドの第1引数には、先ほど作成したクラスを渡します
第2引数には、JavaScriptからの呼び出しに使う時の文字列を渡します

最後に、htmlを作成していきます

先ほどのメソッドに渡した文字列(“android”)とメソッド名(“showToast”)でAndroid内のメソッドを呼び出すことができます

AndroidからJavaScript

AndroidからJavaScriptを実行する方法です

まずは、実行したいJavaScriptを含んだhtmlを作成したいと思います

htmlのbodyに文字を記述するcalljavaScriptをAndroidから呼び出します
呼び出した際に、実行されたかどうか分かるようにします

次にAndroidから呼び出すためのクラスです

クリックを押したら実行するようにしました
JavaScriptの呼び出しはloadUrl(“javascript:” + script)でもできるのですが、4.4以降ではevaluateJavascriptを使用するように促されています

終わりに

AndroidとJavaScriptを連携しようとすると密接な関係になってしまい、修正時には手間が増える可能性もあります
連携するにしても、ほんの一部分のみで実装するのがいいと思います

火曜日担当:poppy




アプリ関連ニュース

お問い合わせはこちら

お問い合わせ・ご相談はお電話、またはお問い合わせフォームよりお受け付けいたしております。

tel. 06-6454-8833(平日 10:00~17:00)

お問い合わせフォーム