Android - 简单的用户输入表单web-view到jQuery Mobile的后端java

AbS*_*on8 5 java android webview jquery-mobile cordova

我目前正在设计一个原生的Android应用程序.我打算使用jQuery Mobile Web视图作为我的界面,并使用java后端进行所有计算.(仍然决定是否使用phonegap)

我在实现允许用户填写表单并将变量传递给android java部分的页面时遇到一些困难.

整个上午研究,我已经学会了如何使用addJavascriptInterface()在javascript/html和java之间进行交互.但我能找到的唯一能回答我问题的是JSON.这看起来有点复杂.有没有办法可以将变量作为java函数的参数传递?

(我了解到如果我不使用Web视图,我可以简单地使用getText()或getSelectedItem()和默认UI来做我想做的事情)

我很抱歉没有代码可用,因为这仍处于设计阶段,我对android sdk有点新.

谢谢

Squ*_*onk 8

好的,这是一个与javascript界面​​交互的例子......

在Activity中设置javascript界面​​...

JavascriptInterface javasriptInterface = new JavascriptInterface(this);
webview.addJavascriptInterface(javasriptInterface, "Android");
Run Code Online (Sandbox Code Playgroud)

Android Activity中的内部JavascriptInterface类...

public class JavascriptInterface {
    Context mContext;

    JavascriptInterface(Context c) {
        mContext = c;
    }

    public boolean doSomething(String name, String address) {
        ...
        return true;
    }
}
Run Code Online (Sandbox Code Playgroud)

编辑: 您的表单将有各种输入字段.例...

<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>
Run Code Online (Sandbox Code Playgroud)