在android中链接和复制外部(可移动存储)文件

时间:2012-11-03 09:28:31

标签: android external sd-card

在开始功能开发之前我想问一个开放的问题,之后只是为了更多地了解这个主题,只是重新开始;)我尝试搜索,但我不确定要搜索什么。因此,我想在这里挑选你的大脑......

目前的情况如下: 我有一个存储活动/事件日志的应用程序。在一个简化的例子中: “人A用100毫升水填充玻璃”

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

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

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

所以,我的问题是:

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

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

1 个答案:

答案 0 :(得分:0)

没有人想抓住这个机会? :)

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

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

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