首页 > 解决方案 > 如何通过 URI 复制文件

问题描述

安卓 11

序言:我有一副卡片,带有指向图像和视频的 URI 链接,虽然它在创建它的设备上起作用,但我认为将这些卡片从一个设备或多个设备共享当然是一个很大的问题,因为创建它们的原始设备上的 URI 不会与原始设备以外的任何其他设备匹配。

问题:所以我的概念是;创建一个临时目录并复制用户制作的所有媒体图像和视频,重新格式化卡片组的 XML 文件以在本地查找文件,例如。filesDir() 并压缩临时目录并将其复制到下载中,以便用户可以将 zip 文件共享给其他人。

那么如何将通过 URI 链接的文件复制到目录中,以便压缩并导出它们?

我已经搜索过了,但我可以弄清楚我应该使用什么。

标签: javaandroidkotlin

解决方案


也许一个更简单的解决方案是创建一个类,该类将帮助您识别保留 URI 引用以供本地参考的卡片。毕竟,您需要搜索牌组,直到找到您通过的标识符。例如

data class Card{
   symbol : SomeEnumToRepresentSymbol("S","D","H","C")
   value : int
   identifier get() = this.symbol + this.value
   localUri : URI
}

创建Deck对象以在每部手机上独立保存您的卡片和 uris 引用,并将标识符从手机传递到手机

val passed : Card
....
deck.find(c->c.identifier == passed.identifier)

推荐阅读