【问题标题】:Run a webserver within an android application在 android 应用程序中运行网络服务器
【发布时间】:2011-08-21 18:08:20
【问题描述】:

我有一个 android 应用程序,它使用 webview 来显示它的一些屏幕。 问题 - android webview 页面需要很长时间才能从远程服务器下载图像。因此,我考虑在我的 android 应用程序中(在一个新线程中)启动一个网络服务器来提供静态图像。

我能够在端口 8080 上的线程中启动网络服务器(从我的应用程序),但无法通过 URL“10.0.2.2:8080”、“127.0.0.1”上的 webview 从我的应用程序访问它: 8080”和“本地主机:8080”。 任何想法为什么我无法访问我的网络服务器?

提前致谢!

【问题讨论】:

    标签: android webserver android-webview


    【解决方案1】:

    您会考虑直接将 HTML 数据加载到 webview 中吗?

    String summary = "<html><body>You scored <b>192</b> points.</body></html>";
    webview.loadData(summary, "text/html", "utf-8");
    

    【讨论】:

    • 谢谢布赖恩。我正在使用 webview 在我的 android 应用程序中打开一个 web 应用程序,而且我还有一些移动应用程序使用相同的 web 应用程序和相同的页面,所以我只想提供图像/js 代码最长加载而不是整个 html 页面(否则代码重用会很困难)
    【解决方案2】:

    您不需要运行服务器来加载静态内容。 Android webview 有一个方法 loadDataWithBaseURL 用于这个 porpose

    http://developer.android.com/reference/android/webkit/WebView.html#loadDataWithBaseURL%28java.lang.String,%20java.lang.String,%20java.lang.String,%20java.lang.String,%20java.lang.String%29

    【讨论】:

      【解决方案3】:

      如果您没有很多图片,或者总大小不是太大,您可以将图片作为资产包含在您的应用中。

      您可以将静态 HTML 加载到引用您随应用部署的图像的 web 视图中。

      有关如何在 HTML 中使用本地图像进行 web 视图的快速参考位于此处:http://www.androidsnippets.com/webview-with-custom-html-and-local-images

      【讨论】:

      • 我可以使用它来加载带有本地图像的远程 html 页面吗?
      • 我从未尝试过这样的事情,但我认为它会起作用 - 试一试看看。
      猜你喜欢
      • 1970-01-01
      • 2011-02-19
      • 2021-01-17
      • 2019-07-27
      • 1970-01-01
      • 1970-01-01
      • 2023-03-07
      • 2017-04-11
      • 1970-01-01
      相关资源
      最近更新 更多