9

搜索 1 小时后,我没有找到任何解决问题的方法。

我想将文件从 sdcard 移动到 assets 文件夹,并覆盖 assets 文件夹中的现有文件(两个文件都是 sqlite 数据库具有相同的名称,只是数据略有不同)

??

4

3 回答 3

14

实际上,android .apk 文件的行为是只读的,因此该 apk 文件中的目录结构遵循相同,因此没有人可以在运行时编写此文件或对其进行更改,这就是为什么您不能制作/asset folder在运行时更改。您可以从中读取文件(意味着将资产中可用的文件复制到任何internal storage/sdcard 但不将其写入反之亦然

它适用于在 .apk 文件中构建的所有目录。根据文档。

于 2011-12-06T12:07:26.383 回答
4

Assets 文件夹不可写,它只能读取,所以你不能从sdcardassets 复制,是的,你可以从 assets 复制到sdcard

于 2011-12-06T11:59:45.457 回答
1

如果您希望其他应用程序不访问您的数据库,那么您可以做的是

  1. 从网站下载数据库。在 app 目录中创建一个临时数据库。
  2. getDatabasePath()这将为您提供您创建的虚拟数据库的路径,现在将其替换为您下载的那个。

PS.:具有root访问权限的用户和应用程序仍然可以访问它,在这种情况下您无法做任何事情

于 2011-12-06T12:23:46.247 回答