LinkifyをAndroidに組み込むには表示するHTMLのヘッダに以下のようなスクリプトタグを追加します。
<script type="text/javascript"
src="http://www-static.linkify.mobi/api/linkify.js?key=YOUR_API_KEY">
</script>
例として、Linkifyが組み込まれたAndroid WebView Applicationの紹介をします。今回は、Linkifyが導入された *Yahoo! News *のウェブページをWebViewで表示するアプリケーションを作成します。
WebViewをAndroidのウィンドウに追加するためには <WebView> 要素をアクティビティレイアウトに追加します。アクティビティは res/layout/activity_main.xml で編集が可能です。以下に例を示します。
<?xml version="1.0" encoding="utf-8"?></span>
<WebView
xmls:android="http://schemas.android.com/apk/res/android"
android:id="@+id/webview"
android:layout_width="fill_parent"
android:layout_width="fill_parent"
/>
WebViewを利用する際にはインターネットへのアクセスが必要なため、Androidのマニフェストにインターネットアクセスを許可するための以下のコードを追加します。
<manifest ... >
<uses-permission android:name="android.permission.INTERNET" />
</manifest>
以下がアクティビティのサンプルです。 はじめにWebViewのインスタンスを生成し、Javascriptを 許可しています。 次に、WebViewにスクリプトタグ挿入のための 設定をします。 最後にYahoo! Newsのページをロードしています。 なお、setWebViewClient メソッド内にはYOUR_API_KEY環境変数が含まれているため、 LinkifyのCodeページからコピー&ペーストしてくることをおすすめします。
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
final WebView webView = (WebView)findViewById(R.id.webView);
WebSettings webSettings = webView.getSettings();
webSettings.setJavascriptEnabled(true);
webView.setWebViewClient(new WebViewClient() {
@Override
public void onPageFinished(WebView view, String url) {
view.loadUrl("javascript:(function(){if(!window.linkified){var d=document,s=d.createElement('script');s.type='text/javascript';s.src='http://www-static.linkify.mobi/api/linkify.js?key=YOUR_API_KEY';d.getElementsByTagName('head')[0].appendChild(s);window.linkified=true;}})()");
}
});
webView.loadUrl("http://news.yahoo.com");
}