WebView - 如何使用从网站上的应用程序收集的数据

Posted

技术标签:

【中文标题】WebView - 如何使用从网站上的应用程序收集的数据【英文标题】:WebView - How to use data gathered from an app on a website 【发布时间】:2017-06-01 08:32:09 【问题描述】:

我在这里创建一个网络应用程序:ifridge.a2hosted.com

随时登录:

电子邮件: sample@test.com

密码: Password101(区分大小写)

我目前正在创建一个具有相同核心功能的 android studio 应用程序。

我的情况:

目前网站 ifridge.a2hosted.com/add_remove_item.html 有 2 个按钮,一个“ScanIn”和一个“ScanOut”。单击后,会出现一个文本输入框,等待输入并提交一个 13 位数字(代表条形码),然后将条形码添加到用户的数据库中。如果用户是第一次添加商品,系统会提示他们通过填写 3 个文本框手动输入商品信息。

在应用程序上,我希望相机打开并扫描条形码,将其转换为 13 位数字并在没有任何用户交互的情况下提交。我正在寻找有关执行此操作的最佳方法的一些指导。以及如果项目无法识别,如何最好地实现提示。

编辑:如果我只是制作一个标准的 android 应用程序,我知道如何将条形码转换为数字。我不清楚的是如何以网站正确处理此号码的方式准确处理此号码。

提前感谢您的帮助!

【问题讨论】:

【参考方案1】:

对于应用程序和服务器之间的通信,我推荐使用Rest API。 基本上它就像你的普通网站一样工作。但是你从应用程序调用它,响应是 JSON 而不是 HTML。

到目前为止,我自己编写了它(并不难),但可能有现成的库。

扩展: 根据我对您的问题的理解,这是一个如何处理它的示例:

您当前的 php 可能类似于:

从 $_REQUEST 获取数字输入 验证并存储号码。 向用户打印 html(或 json 到 javascript

在 android 案例中,没有什么真正改变。当你在手机上拍照时,显示一个加载圆圈或其他东西并启动一个 POST HTTP 请求。该请求将与普通 Web 浏览器相同。您不是打印出 HTML 给用户,而是打印出 JSON。然后您的应用决定下一步做什么(取决于 JSON 内容)。

示例 JSON:

 "success":true, "was_unknown_barcode":true  

在应用程序中检查 JSON 结果。如果 was_unknown_barcode 设置为 true,请使用您的产品详细信息表单打开另一个活动。

关于如何进行发布请求,只需谷歌"android json post request"。

【讨论】:

嗯,我确实使用 JSON 格式在 JS 和 PHP 之间使用 Post 和 Get 请求进行通信,你能详细说明一下吗? 我扩展了我的答案。 你知道我如何/在哪里可以保存用户第一次登录时的电子邮件地址(通过 webview 在网络应用程序上),因为当我添加条形码时,我还需要电子邮件字段 通常存储设置数据是 SharedPreferences 的用途。如果您关心安全性,我不建议将密码直接存储在手机上。如果您改为让用户在您的手机上登录一次,并让服务器回复一个随机的唯一令牌。将令牌存储在手机上并将该令牌用作将来请求的密码/ID。原因是手机很容易丢失,但只有用户知道/持有密码。

以上是关于WebView - 如何使用从网站上的应用程序收集的数据的主要内容,如果未能解决你的问题,请参考以下文章

从 React Native App 中的 WebView 打开动态链接

Flutter webview 不显示我网站上的内容

如何从 iPhone 应用程序的 webview 中的外部链接返回

Android Webview 应用程序无法通过 Opencart 网站上的 PayPal 处理付款

Android WebView 似乎忽略了网页上的“视口”信息

React Native - 如何从 WebView 上的本地路径加载图像