Android - 使用 jQuery Mobile 从 Web 视图到后端 java 的简单用户输入

发布于 2024-12-28 02:55:53 字数 441 浏览 0 评论 0原文

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

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

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

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

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

谢谢

I am currently designing a native android application. I am planning to use jQuery Mobile web view as my interface and do all the calculations with java back-end. (still deciding using phonegap or not)

I have some difficulties implementing a page that allows a user to fill in a form and pass the variable to the android java part.

Researching all morning, I have learned how to interact between javascript/html and java with addJavascriptInterface(). But the only thing I can find that answer my question is with JSON. That seems a little complicated. Is there a way I can pass the variable as a parameter of a java function?

(I learned that if I do not use a web view, I can simply use getText() or getSelectedItem() with default UI to do what I want to)

I apologize there is no code avaliable, since this is still in designing stage, and I am a little new to android sdk.

Thanks

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

寻梦旅人 2025-01-04 02:55:53

好的,这是与 javascript 接口交互的示例...

在您的 Activity 中设置 javascript 接口...

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

您的 Android Activity 中的内部 JavascriptInterface 类...

public class JavascriptInterface {
    Context mContext;

    JavascriptInterface(Context c) {
        mContext = c;
    }

    public boolean doSomething(String name, String address) {
        ...
        return true;
    }
}

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

<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>

OK, here's an example of interacting with the javascript interface...

Setting the javascript interface in your Activity...

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

The inner JavascriptInterface class in your Android Activity...

public class JavascriptInterface {
    Context mContext;

    JavascriptInterface(Context c) {
        mContext = c;
    }

    public boolean doSomething(String name, String address) {
        ...
        return true;
    }
}

EDIT:
Your form will have various input fields. Example...

<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>
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文