Android混合应用程序和远程服务器通信

时间:2012-08-02 11:48:37

标签: android http client-server hybrid

我正在学习开发适用于Android平台的混合应用程序(稍后将扩展到其他移动平台)。我已经阅读了很多文章并且已经有了一个开始,但没有找到解释这一点的东西。

我想将UI(HTML / JavaScript / CSS)文件存储在移动设备上,并通过WebView显示它。这将与远程服务器通信以通过WebService获取数据。 我没有具体理解的是:

  1. 是否会在文件上安装UI文件(HTML / JavaScript / CSS) android设备系统还是会有本地嵌入式WebServer 在Android设备上。
  2. 如果HTML / JavaScript / CSS文件在文件系统上,它们是如何进行的 与远程WebService通信。让我们说我想做一个 AJAX调用远程服务器......它将由UI处理 (HTML / JavaScript)文件通过WebView或JAVA显示 WebView所在的容器?我没有 理解是如何将HTML / JavaScript放在文件系统上 进行AJAX调用。
  3. 如果移动设备上需要本地嵌入式WebServer,您可以 建议我一些?如果这是真的,那么相同的架构也会起作用 在其他平台上,如iOS,Symbian,BlackBerry等。
  4. 如果有人觉得这不是正确的方法,请告诉我你对建筑的看法。

    请指出正确的文章或解释您对这一特定情况的想法。

1 个答案:

答案 0 :(得分:1)

我建议你采用不同的方法解决这些问题。如果我在你的位置,我会做以下事情:

我假设您将这些作为基于Java的Web应用程序。即使你使用PHP或其他Web开发语言,事情也会变得非常相似。

1)UI文件(HTML / JavaScript / CSS)是否会安装在Android设备的文件系统上,或者Android设备上是否会有本地嵌入式WebServer。

没有。您正在阅读的UI文件只是Web应用程序中的网页。这些网页存储在服务器上而不是本地文件系统上。我们利用浏览器连接到远程服务器,然后通过浏览器从浏览器中提取这些页面然后显示给您。

2)如果HTML / JavaScript / CSS文件在文件系统上,它们如何与远程WebService通信。假设我想对远程服务器进行AJAX调用...它是由通过WebView显示的UI(HTML / JavaScript)文件还是由WebView所在的JAVA容器处理?我不明白的是,文件系统上的HTML / JavaScript如何进行AJAX调用。

网页从服务器下载并在浏览器中显示给您。在网页本身,我们编写脚本来对适当的事件进行AJAX调用,比如点击某个按钮,或者更改某个字段的值或者@页面加载的时间等。当你想要进行AJAX调用时,全部依赖于你的项目要求。

3)如果移动设备上需要本地嵌入式WebServer,您能建议一些吗?如果这是真的,那么相同的架构也适用于其他平台,如iOS,Symbian,BlackBerry等。

正如我之前提到的,数据存储在远程服务器上,因此您不需要移动设备上的Web服务器(除非您想将移动设备用作主机或服务器设备)。由于这些是基于Web的解决方案,因此您无需考虑手机平台。无论是Android,黑莓,Apple还是Symbian手机,您只需使用手机中的网络浏览器即可连接到服务器。