1

在开始开发功能之前,我有一个悬而未决的问题,我想在之后了解有关该主题的更多信息,然后重新开始;)我尝试搜索,但不确定要搜索什么。因此,我想在这里采摘你的大脑......

这是当前情况: 我有一个存储活动/事件日志的应用程序。在一个简化的例子中:“人 A 用 100 毫升水装满了一个玻璃杯”

这作为记录存储在单个表中。

现在,为了满足新功能的要求: 我通过 USB 将外部存储设备连接到我的平板电脑。在这个存储设备上有几个文本文件。每个文件都包含一个活动/事件的参数,类似于上面描述的,但具有不同的数据。

我想创建一个函数来导入这些文件,将它们的一些内容作为新记录读入数据库,然后将文件存储在平板电脑上的某个位置,并将文件链接作为数据库中的一个字段。理想情况下,我希望将整个文本文件的内容存储在一个字段中,或相关 1:1 表中的一个字段中,但这些文件可能大到 1MB(1MB 非常少见,但可能。平均为大约 100KB)。

所以,我的问题是:

  • 是否可以将文件从通过 USB 链接的外部存储设备复制到 android 设备的 SD 卡/内部存储器?(我可以使用平板电脑上的文件浏览器应用程序访问此存储设备)
  • 如果是这样,最好的方法是什么?
  • 如果没有,我的替代方案是什么?
  • 此外,如果无法复制和本地存储文件,是否仍然可以访问外部存储上的内容?在这种情况下,我将只导入我需要的数据,而不是存储原始文件的副本。

在此先感谢,非常感谢所有回复!

4

1 回答 1

0

没人愿意冒险吗?:)

对于有同样问题的未来读者:可以从 USB 连接设备读取文件。请记住,直接从文件系统读取文件与将其作为邮件附件读取是不同的。只不过是一条不同的道路;)

我最终将文件读入数据库,将行拆分为记录。换句话说,不是在一个字段中添加整个文件(甚至是整行),而是将文件解析为单个记录,拆分为各个字段。

我遇到的两件事可能会对您有所帮助。读取文件非常快,但不要犯我将这些行一一写入数据库所犯的错误。最好将它们全部添加到事务中,并立即提交。另一种,您可以使用读取缓冲区来读取文件,而不是使用默认的输入流。这也加快了大文件的读取速度。

于 2012-11-24T11:07:11.357 回答