我想在安装应用程序时在我的应用程序的文档目录中安装文件,并且应用程序需要能够在需要时下载这些文件的新版本。
目前,我将这些文件打包在res / raw中并在本地复制它们。这是浪费空间,因为设备将包含资源和本地副本。是否有一种机制可以让我将文件直接捆绑到可写目录而不是资源?
这就是我现在正在做的事情:
File moviesDir = cw.getDir("movies", Context.MODE_PRIVATE);
in = getResources().openRawResource(R.raw.tutorial);
file = new File(moviesDir,"tutorial.mp4");
copyInputStreamToFile(in,file);
答案 0 :(得分:1)
是否有一种机制可以让我将文件直接捆绑到可写目录而不是资源?
不,抱歉。
答案 1 :(得分:1)
原始,资产等捆绑在您的apk文件中,当然在安装的设备上无法写入。你可以不将你的资源捆绑在apk文件中(即要求应用程序将其下载到其他地方)或者承担开销。
注意:在您的情况下,根据您的使用情况,您可能会探索将其从原始资源直接传输到播放器。见Setting data source to an raw ID in MediaPlayer