我对android很新。我想创建一个安装包,将文件放在android文件系统的app文件夹(/data/data/my.app / ...)中。
我想这样做,所以我可以使用标准的java File方法访问文件(为了重用我自己的代码),而不必使用android资源访问方法。
我认为可以在这个方向上实现某些目标的唯一方法是将文件放在/ res文件夹中,并在运行时将它们复制到文件系统(例如,在第一次运行时)。这样做的缺点是无缘无故地拥有每个文件的两个副本。
另一种方法是让我的应用程序从服务器下载这些文件(在另一个答案中也看到了这个选项)。这是可能的,但我希望避免为这么简单的任务设置文件服务器......
根据我的理解,DDMS在这里没有帮助,因为它只允许我在安装应用程序后手动访问该文件夹。
我的问题是:是否有不同的方法来实现我的原始目标(使用标准java方法访问文件)?如果没有,是否有更简洁的方法将文件放在文件系统上?
谢谢!
答案 0 :(得分:1)
我可以想到3种避免重复的方法:
答案 1 :(得分:1)
您可以将文件放在/ res / raw下,然后使用:
Resources res = context.getResources();
InputStream in_s = res.openRawResource(R.raw.myfile);
或者如果你想要File对象
File f = new File(context.getResources().openRawResource(R.raw.myfile));
然后,您可以使用普通的Java apis来处理文件。