近日,需要完成一个程序,需要把相关文件放到Android程序中,并共Android读取。
Android读写文件很简单,如果用JAVA语言的话,就是JAVA文件读写。
真正的问题在于,在Android程序中,应该把文件放到哪里,才能保证能可以读取。
继续查找相关资料,得出如下结论:
1)Android中有raw和assets两个文件夹下的文件,可以不编译为二进制文件,把相关文件放到这两个文件即可。
2)raw文件目录为res/raw,相关文件会被映射到R.java,访问时直接通过资源ID访问;
3)assets对应文件不会映射到R.java,而是和apk绑定。这意味着相关文件没有绝对路径,必须通过AssetManager工具类进行访问。
放置assets文件方法如下:
1)assets问价下加Folder,然后加Assets Folder。
2)把文件放入assets文件下。
读取assets文件,必须用AssetManager,方法如下:
context.getAssets().open(FILE_NAME)
其中,getAssets为获得AssetManager,同时,必须在一定Android的context下。
同时,必须注意的是context建议不要用getApplicationContext(),否则由于上下文环境不一致造成的奇奇怪怪的错误。