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有点新.
谢谢
好的,这是一个与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)