【问题标题】:How to build a simple offline form submission app?如何构建一个简单的离线表单提交应用程序?
【发布时间】:2013-05-18 21:23:03
【问题描述】:

我是一名 Webdev 初学者,一直在学习一些 Python/PHP/Javascript,并希望帮助我的朋友完成一个项目。

她正在对旧房子/窗户进行大规模调查,并填写表格(类似于 Google 表格)。但是,她的手机并不总是有 3G 覆盖,因此她希望通过某种方式在上网时上传数据,并且她希望能够上传照片并将这些照片附加到表格中。

我找到了一个使用 html5 localstorage 的javascript-library,但我不明白 localstorage 是否也接受文件上传?此外,当您提交了一个表单后,您需要访问互联网才能再次打开该表单以提交另一个表单。

周围是否有图书馆或项目可以帮助我解决其中的一些问题,所以我不必重新发明轮子?

【问题讨论】:

  • 看看 parse.com。 PFObject 类有一个名为saveEventually 的方法,它将缓存保存直到它上线。但是请注意,有一个有限的缓存大小(目前记录为 10MB),当缓存达到其大小限制时,它将清除较旧的保存请求。
  • 对各种框架和解决方案使用搜索词 ios android "store and forward"

标签: android ios html mobile local-storage


【解决方案1】:

使用网络应用程序很难做到这一点。您将不得不依靠 AJAX 之类的东西来发送数据,如果超时,则存储在本地存储中并每隔几分钟重试一次,因为 Web 应用程序无法访问任何东西,例如检查 wifi 状态等。

此外,您可以在 html5 本地存储中使用的大小也有限制: What is the max size of localStorage values? ,如果您想保留照片,这将不起作用。

这需要一个本机或最低限度的混合应用程序(如 phonegap)才能将实际设备上的数据存储在文件或 SQLite 数据库中。这样您就可以存储您喜欢的内容,访问互联网连接的状态,甚至在屏幕上出现提示(当应用程序在后台时)提醒她还有一些需要上传。

这样会更加可靠和稳定

【讨论】:

  • PhoneGap 似乎是赢家。非常感谢!
  • 没问题,phonegap 非常适合这种类型的应用程序,它主要是一个 html 表单,但您需要一些低级别的支持。我不会用它来做更多的事情,但不是真正的粉丝
【解决方案2】:

您可以创建一个应用程序,将数据(表单)存储在应用程序的本地数据库(即 SQLite)中。

一旦她在线(主要是 wifi),她就可以开始上传数据了。

【讨论】:

  • @MarcusAdams 但是在 SQLiteDb 中保存数据是保存数据的更好选择
  • 我猜为了这个目的,SQLLite 是多余的。用户无需为多个用户或调查查询数据或存储数据。
猜你喜欢
  • 2015-03-31
  • 2019-12-17
  • 1970-01-01
  • 2010-09-26
  • 2011-04-06
  • 2017-11-01
  • 2015-06-28
  • 2017-09-28
  • 1970-01-01
相关资源
最近更新 更多