Android - 将表单数据本地保存为CSV

时间:2011-08-20 20:30:56

标签: javascript android html csv cordova

我有一个简单的Android应用程序,使用简单的js,jquery mobile和phonegap,它有表单数据,我想在/ sdcard上写入CSV。我无法弄清楚这样做的最佳方法。它需要本地写入CSV,因为该设备将无法访问Internet。每次提交表单时,每个CSV文件名必须是唯一的,包含“CompanyName”字段。我到处搜索,无法解决这个问题。请帮助......

1 个答案:

答案 0 :(得分:1)

我已经实现了类似的东西(通过移动网络应用程序读取/写入数据,没有互联网连接)。 您可以使用我在Android中使用自定义ContentProvider来保存数据的相同方法。如果数据不大,这种方法应该有效。如果是这种情况,那么您可以执行以下操作:

  1. 创建自定义内容URI方案,例如content:// myuri。这是Android的一个很好的功能,因为我可以从内置浏览器调用此URI,甚至包括HTML页面中的链接。它基本上将此URI视为任何其他http:// uri
  2. 在写入的实现中,您可以将URL设计为content:// myuri / writeData / input1 = value1 / input2 = value2 / input3 = value3,依此类推。我不确定ContentProvider中是否存在ContentProvider接受的URI长度的限制,这就是我在上面提出的警告。我上次尝试这种方法时没有大表格
  3. 在实现ContentProvider的扩展时,需要覆盖函数public ParcelFileDescriptor openFile(Uri uri,String mode)并让它们解释步骤#2中给出的URI。实现应该是解析URI,然后按照您的意图将数据写入CSV
  4. 您可以使用不同的URI方案获取此数据,例如content:// myuri / getData / [theFileID],现在在上面#3的实现中,您将执行相反的操作并将CSV数据返回到您的移动网络-app
  5. 如果您有任何疑问,请与我们联系。