我想使用 HTML 和 JavaScript 构建一个基于浏览器的离线应用程序来收集 Android 平板电脑上的调查数据。该应用程序将由一些带有表单的静态页面组成,供用户输入数据,然后使用 Web Storage 或 IndexedDB 将数据存储在本地。但是,我还想构建一个小型本机 Android 应用程序,它可以获取这些数据并将其传输到其他设备。这可能吗?如果可以的话我该怎么做?
具体来说,我想了解本机应用程序是否以及如何访问浏览器的数据存储(我可以管理其余部分)。我更喜欢使用 Android 浏览器,但如果更方便的话也可以使用任何其他浏览器。我找到了这个博客文章 http://www.aaron-powell.com/posts/2012-10-05-indexeddb-storage.html这表明这是可能的,但我希望能提供一些关于 Android 浏览器存储数据的位置以及其他应用程序如何轻松访问数据的指示。
不幸的是,我认为数据流不能按您想要的方式工作。在 Chromium WebKit 实现中,IDB 将数据存储在您不应该能够访问的 levelDB 文件中(根据设计)。
那么我们如何才能让 Java 和 JavaScript 很好地协同工作呢?这是一个很好的问题!在我看来,将 Java 数据转换为 IDB 数据的唯一好方法是通过客户端。
我有很好的 IDB 能力,但我的 Android 经验是非生产经验。据我了解,这是一个建议的解决方案:
- 通过本机应用程序视图收集数据
- 将字符串写入沙箱中的文件,并将数据存储为 JSON blob 或存储在
.html
<script>
附加到 JavaScript 全局
- 加载一个可以访问本地 URI 的 webview,例如
file://android_asset/blah.json
然后运行一些 IDB 代码将其批量插入到 IDB 中
- 使用 IDB 商店来驱动基于 Web 的视图
因此,“本机应用程序是否以及如何访问浏览器的数据存储”的答案是:尝试相反的方法。对其进行架构设计,让您的浏览器访问您的本机应用程序数据存储。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)