Android WebView:脱机清单vs本地文件

时间:2015-08-30 13:41:58

标签: android webview

我正在开发一个简单的Android应用程序,其中用户必须填写一个非常复杂的表单,我相信使用HTML表单比使用大量TextViews的Android活动要容易得多。

表单收集的数据必须发送到某个远程数据库,并且应用程序必须能够脱机工作。

我想到了两个选择,问题是:哪一个更好?

  1. 让WebView加载具有脱机清单的远程网站
  2. 让WebView加载资产文件夹中的本地网站
  3. 我的第二个问题与离线时的存储有关,而且我有两个选项,我不知道哪个更好:

    1. 使用HTML5本地存储,让HTML + javascript再次在线时向服务器发送数据
    2. 让我的Android应用程序捕获表单数据,并处理Android方式的所有内容。
    3. 任何输入都会非常有用。提前谢谢。

1 个答案:

答案 0 :(得分:2)

关于第一个问题:取决于您需要多久更新一次表单。可以快速更新在线缓存表单,而捆绑页面只能与应用程序一起更新,您需要考虑旧客户端和新客户端可以同时连接到您的服务器(用户将拖延更新)。

另一个方面是便携性。您是否想过您的应用程序的iOS版本,或者可能是移动网站?如果是,那么HTML5解决方案肯定更具可移植性。此外,调试完全是HTML或完全原生的应用程序通常比混合应用程序更容易 - 您可以保留在单个调试器中。

也许,在WebView中使用HTML本地存储的一个缺点是你保存的数据将是一种黑盒子" - 你将无法轻易备份。

[稍后添加]确定 - 将您的网站放入assets文件夹的一个缺点是,您必须使用file:方案才能访问它。如果您尝试将捆绑的内容与来自网络的内容混合,这可能会导致一些跨源加载访问相关问题。请检查以下WebView设置:setAllowFileAccessFromFileURLssetAllowUniversalAccessFromFileURLssetMixedContentMode