【问题标题】:Communicating information between html file and android [closed]html文件和android之间的通信信息[关闭]
【发布时间】:2013-10-16 13:30:52
【问题描述】:

我有一个 HTML 文件被 webview 在活动中使用。 HTML 文件构成了一个可在 web 视图中滚动的大表格。我想在 HTML 文件中添加一些 javascript 以在表格上浮动图像。我还希望这张图片在一段时间内(每五秒)改变位置。我希望通过使用随机数生成器每五秒更改一次浮动图像的坐标来完成此操作。

首先,这种实现可能吗?我是 javascript 新手,但这似乎不是一个牵强附会的想法。

其次,我希望浮动图像是可点击的。而且,单击后,我希望将信息放在字符串中。我的另一个问题是,有没有办法将HTML文件构建的字符串调用到android中的另一个活动中?

我知道有些人可能不清楚我的意图。如果需要澄清,请询问。感谢您的所有帮助:D

【问题讨论】:

  • Java 在 HTML 文件中不起作用。你应该考虑学习 JavaScript。
  • 不能在加载 HTML 文件的同一个 webview 中使用 javascript 吗?
  • 是的,您可以在 WebView 中使用 JavaScript。只是不是 Java。
  • 我很抱歉造成混乱。那么,您能否帮助了解一下这个想法是否可以使用 javascript?
  • 是的,这绝对是可能的!我建议您查看this similar SO question 以获取有关如何完成它的一些提示。

标签: android html string


【解决方案1】:

问题 1:需要一张图片来浮动

问题2:需要图像以固定的时间间隔改变方向

首先,我建议您创建一个每 5 秒改变一次方向的 gif 图像 这样你的问题 2 就解决了

现在来到第一个问题, 用这个

String HtmlFileString = "<html style=\"height:90%;width:95%\"><body>" +
                          "<img src=\""+**gif_char**+".gif"+"\" " +
                          "style=\"height:100%;width:100%\"></body></html>";

            webview.loadDataWithBaseURL("file:///android_asset/",HtmlFileString,"text/html", "UTF-8","");

不要忘记将 gif 保存在资产文件夹中

还有这个你自己传的gif,

它只是更改您的 gif 的名称,以便您可以随时显示任何图像

只需使用变量 gif_char 的 diff 参数再次调用此行

如果你不想使用GIF图像,你可以使用一个简单的图像,并通过一次又一次地加载webview来改变图像,每次都传递diff图像

让我尝试进一步解释 第 1 步:使用缓冲阅读器读取 html 文件,

第2步:将文件内容存储在字符串中

第三步:将图片资源挂在html文件字符串中

第 4 步:将此 html 文件字符串传递给方法 webview.loadDataWithBaseURL()

另外,Webview 不支持 onclick 事件但支持 ontouch 事件

【讨论】:

  • 我不确定 gif 是否是我需要的。图像为 5000 x 5000 左右像素。我希望图像可以转换到整个表格的各个位置,而不仅仅是屏幕。这可能吗?也许我没有完全理解你的回答。
【解决方案2】:

为此,您需要结合使用 Java 和 Javascript。

在 javascript 中插入图像并移动它是最简单的,类似于上面显示的内容。

要从 android 应用程序中获取返回字符串,您应该使用

addJavascriptInterface (Object object, String name)

这将允许 javascript 调用您传递给此函数的 java 对象中的公共函数。

然后,此对象可以使用用于启动活动的意图中的附加捆绑包将字符串传输到新活动

【讨论】:

    猜你喜欢
    • 2016-09-28
    • 2013-03-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-07-05
    • 1970-01-01
    • 2014-05-12
    • 2012-03-17
    相关资源
    最近更新 更多