2014年1月6日月曜日

WebViewにPOSTする

WebViewを使用して情報登録を行う処理に挑戦しました。

以下の2つの方法で試してみました。(@_@)


1.Javascriptを追加する

String account_id = "********";
String account_pass = "********";

wv = (WebView)this.findViewById( R.id.webView1 );//用意されたwebview

//
StringBuffer sb = new StringBuffer();

sb.append("var id = document.getElementsByName('user_name');");
sb.append("id.item(0).value ='"+account_id+"';");
sb.append("var pass =  document.getElementsByName('password');");
sb.append("pass.item(0).value ='"+account_pass+"';");
sb.append("document.form.submit();");


//スクリプトを追加する
view.loadUrl( "javascript:"+javascript );

また、javascriptからjavaを呼び出す事もできます。
呼び出すクラスを用意する
public class JavaScriptInterface {
  
 public JavaScriptInterface(){}
 
 //この関数をjavascriptから呼び出します。
 public void test( String value ){
     Log.d( "test", value );
 } 
}

この2行でWebViewとの関連付けを行います。
    JavaScriptInterface jsi = new JavaScriptInterface();
    wv.addJavascriptInterface( jsi, "android" );//第2引き数は呼び出し時に使用する。

javascript側の記述
   android.test("javascriptから呼び出し");


2.WebViewにあるPostUrlを使用する

wv = (WebView)this.findViewById( R.id.webView1 );//用意されたwebview

//POST先
String url = "http://*********************";

//POSTしたい情報 post_data
//WebViewへPOST送信する
wv.postUrl( url , post_data.toString().getBytes() );



0 件のコメント:

コメントを投稿