コメント |
@HTML
<img src="https://lh3.googleusercontent.com/-BKMLvVJ59dU/VgPd7f8GxRI/AAAAAAAAb1Q/rOd81enFczk/s400-Ic42/_img.png" style="border: solid 1px #000000">
@HEND
※ http://lightbox.matrix.jp/ginpro/patio.cgi?mode=view&no=453(Android Studio : 標準的な WebView) をベースにしています
@DIV
package sample.lightbox.webbrowser;
import android.app.Activity;
import android.graphics.Bitmap;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.webkit.WebView;
import android.webkit.WebViewClient;
public class MainActivity extends Activity {
// WebView のインスタンス
private WebView wv = null;
// 表示されているページの URL
private String startPage = null;
// 初期表示ページ
private String initPage = "http://10.0.2.2/test/001.php";
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
// WebView のインスタンスを取得
wv = (WebView) MainActivity.this.findViewById(R.id.webView);
[[ // Webページとのインターフェイスを登録します
// Webページ上からは、androidObject.toAndroid で呼ぶ事ができます
// (toAndroid は、@JavascriptInterface で登録したメソッド)
wv.addJavascriptInterface(new JavaScriptAccess(new JavaScriptAccess.OnGetWebDataListener() {
@Override
public void onWebGetDataListener(String textData) {
Log.i("lightbox","イベント:"+textData);
}
}), "androidObject");]]
// WebView の表示履歴を戻る為のボタン
MainActivity.this.findViewById(R.id.button).setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
wv.goBack();
}
});
[[ // Webページの JavaScript の呼び出し
MainActivity.this.findViewById(R.id.button2).setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
wv.loadUrl("javascript:getWebPageData()");
}
});]]
// 必ず必要な JavaScript を有効にする設定
wv.getSettings().setJavaScriptEnabled(true);
// 必ず必要な設定
wv.setWebViewClient(new WebViewClient(){
// 必ず必要な設定 : 常に WebView 内でページを表示する為
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url) {
Log.i("lightbox", "shouldOverrideUrlLoading"+url);
return super.shouldOverrideUrlLoading(view, url);
}
// オプション : 表示されたページの URL を変数にセット
@Override
public void onPageStarted(WebView view, String url, Bitmap favicon) {
super.onPageStarted(view, url, favicon);
Log.i("lightbox", "onPageStarted:" + url);
startPage = url;
}
// オプション : ページを表示し終わってから発生するイベント
@Override
public void onPageFinished(WebView view, String url) {
super.onPageFinished(view, url);
}
});
// 目的のページを表示する
wv.loadUrl(initPage);
}
@Override
protected void onStop() {
super.onStop();
wv.clearHistory();
wv.clearCache(true);
Log.i("lightbox", "onStop");
}
}
@END |