当前位置: 首页 > 知识库问答 >
问题:

Android:作用域存储将应用程序文件夹从外部目录移动到Android/data/com.myapp

林运浩
2023-03-14

我计划为我现有的应用程序实现范围存储。我的所有应用程序数据都存储在外部内存的storage/emulated/0/MyAppName路径中。我必须将这些数据移动到像Android/data/com.myapp这样的私人文件夹中。有人能在这方面提供一些代码片段来帮助吗?

共有1个答案

嵇光临
2023-03-14

在这个SO主题中,您有一些如何将文件移动到新目录的示例(简而言之:从file类中使用renameto方法)

请记住,当您更新targetsdkversion并“打开”作用域存储时,您将无法访问旧文件夹。首先发布带有文件移动代码段的版本,让用户运行一段时间(大多数活跃用户会将文件移动到新文件夹),然后发布带有范围存储支持的新应用版本

您必须考虑到,有些用户可能会使用(非常)旧的应用程序,有一天会直接更新到支持范围存储(targetsdkversionbumped),他们将丢失他们的数据(prev文件夹中的文件访问)。更长的时间,您将保持版本预先作用域-与市场上的移动文件代码存储-少部分用户将丢失数据

 类似资料:
  • 问题内容: 我正在从Internet下载文件,并将流数据保存到getFilesDir()给定的应用程序内部存储中的临时文件中。 下载完成后,我需要将临时文件移动到外部存储器(通常是SD卡)上的下载目录中。但是由于某种原因,File.renameTo()对此不起作用。我猜是有问题的,因为它是两个单独的文件系统,但是我仍然可以直接下载到SD卡,并且文件URI是正确的。 是否有另一种简单快捷的方法将该文

  • 我正在尝试使用将应用程序容器中的文件夹复制到本地Windows文件夹。该设备运行的是Android5.1.1,没有根。 以下方法不起作用: 方法1 错误:找不到设备 cp:/data/data/droidsample.droidsample/files/metrolog/metrologs是一个目录(未复制)。 这也是行不通的。 方法5 cp:/data/data/droidsample.droi

  • 众所周知,谷歌颠覆了Android11的授权概念,并彻底改变了它。 我看了Android留档丛林,但没有找到答案的问题是否仍然可以在外部存储(名为 /storage/emulated/0/)的根目录中创建一个文件夹。如果是,如何? 我的应用在Android上写 临时解决办法可以是这样的: 但这并不理想。如果用户从Android10切换到Android11,那么就有一个大问题。我需要什么额外的代码才

  • 问题内容: 我的应用程序( Android API 15 )制作图片并将其存储在内部存储器的文件夹中。现在,我想将此文件复制到外部存储中的另一个文件夹,例如。我尝试了以下方法: 方法1: 方法2: 方法3: 这些方法都不能解决我的任务。在检查了许多相关主题之后,我发现的唯一建议是验证 在和它确实存在。 该 方法#1 完成执行,但没有文件夹和文件被复制。 在 方法#2 ,应用程序失败,异常的,但对象

  • 这些方法都不能解决我的任务。中检查了一些相关主题,我发现的唯一建议是验证 在中,并且它仍然存在。 方法#1完成执行,但没有复制文件夹和文件。 因为这是我迈向Android的第一步,我觉得我错过了一些小东西。请告诉我,如何在Android中将文件从一个文件夹复制到另一个文件夹,包括文件从内部内存移动到外部内存。