2012-01-22 4 views
5

現在、ネイティブのAndroidアプリケーションを設計中です。私は自分のインターフェイスとしてjQuery Mobile Webビューを使用して、Javaバックエンドですべての計算を行う予定です。 (まだphonegapを使用しているかどうかを判断する)Android - シンプルなユーザー入力フォームjQuery Mobileを使用したバックエンドJavaへのWebビュー

ユーザーがフォームに入力して変数をアンドロイドのJavaパーツに渡すことができるページを実装するのにはいくつかの困難があります。

私は午前中に調べて、addJavascriptInterface()でjavascript/htmlとjavaのやりとりを学びました。しかし、私の質問に答えられる唯一のものはJSONです。それは少し複雑に思えます。 Java関数のパラメータとして変数を渡す方法はありますか?

は(私はウェブビューを使用しない場合、私は単に私がやりたいようにデフォルトのUIでのgetText()またはgetSelectedItem()を使用することができることを学んだの)

私は、コードavaliableがない謝罪

、これはまだ設計段階にあるので、私はsdkをAndroidに少し新しくしています。

おかげ

+0

JavaScriptインターフェイスにどのデータを渡す必要がありますか?フォーム上のフィールドの数とタイプは何ですか?区切られた文字列を作成し、インターフェース上で関数を呼び出すだけでよいでしょう。 – Squonk

+0

は、約5つのユーザー設定フィールドになるようです。これは、送信ボタンがクリックされたときに、単にjavascript関数を使って入力値を変数に保存し、Java関数を呼び出すことを意味しますか? – AbSoLution8

+0

私の答えの例を見てください。ちょうどこの物を自分で演奏し始めましたが、私はあなたが 'JavaScriptInterface'関数に複数のパラメータを渡すことができると思います。ありがとう。 – Squonk

答えて

8

OKは、ここであなたの活動ではJavaScriptインターフェイスを設定

...

JavascriptInterface javasriptInterface = new JavascriptInterface(this); 
webview.addJavascriptInterface(javasriptInterface, "Android"); 

内部JavascriptInterfaceクラス... javascriptのインターフェースとの相互作用の例ですあなたAndroidのアクティビティ...

EDIT: フォームにはさまざまな入力フィールドがあります。例...

<form name="myForm" ...> 
    <input type=text name=personName> 
    <input type=text name=personAddress> 
    <input type="button" value="Do it" onClick="callDoSomething()" /> 
</form> 

<script type="text/javascript"> 
    function callDoSomething() { 
     var theName = document.myForm.personName.value; 
     var theAddress = document.myForm.personAddress.value; 
     var result = Android.doSomething(theName, theAddress); 
    } 
</script> 
+1

ありがとうございます。私は実際にそれを他の場所で見てきました。私はこの部分を理解しています。あなたは私が入力値をAndroid.showTastにどのように渡すべきか理解できません。 (つまり、私はどのようにフォームの入力値を "message"にするのですか?)(感謝 – AbSoLution8

+0

私の答えの最後に私の編集を見て、 'doSomething(...)'関数を 'JavascriptInterface'クラスに追加しました私が言ったように私はこのようなことをするのはかなり新しいですが、うまくいけばあなたにスタートを与えるでしょう。 – Squonk

関連する問題