URL をフェッチして、そのテキスト コンテンツを Web ビュー内の JavaScript 関数に送信しようとしています。
私はJavaコードからこれを行います:
HttpClient client = new DefaultHttpClient();
HttpGet request = new HttpGet("http://volteck.net");
// Get the response
ResponseHandler<String> responseHandler = new BasicResponseHandler();
String response_str = client.execute(request, responseHandler);
response_str = response_str.replaceAll("\n", "\\");
// this is because js don't support multi-line strings
myWebView.loadUrl("javascript:myfunction('" + response_str + "')");
System.out.println("javascript:myfunction('" + response_str + "')");
これは、webview 内にあるコードです。
function myfunction(val){
document.body.innerHTML = val.length;
}
これまでのところ、テキストの長さだけを取得しようとしています。しかし、前のコードの URL を使用すると、何も起こりません。ログからこれを取得します。
08-19 23:55:03.141: I/dalvikvm-heap(1846): ヒープ (frag ケース) を 262160 バイト割り当ての 3.551MB に拡張 08-19 23:55:03.351: D/dalvikvm(1846): GC_FOR_MALLOC 209 ミリ秒で 0 オブジェクト / 0 バイト
しかし、奇妙なことに、IP 番号のみを含む volteck.net/ip を取得しようとすると、問題なく動作します。
Java 初心者からの感謝の意を表します。