admin管理员组

文章数量:1130349

近日,需要完成一个程序,需要把相关文件放到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(),否则由于上下文环境不一致造成的奇奇怪怪的错误。

近日,需要完成一个程序,需要把相关文件放到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(),否则由于上下文环境不一致造成的奇奇怪怪的错误。

本文标签: 文件程序Android