在我的Android应用程序中,我想以静态方法访问我的文本文件,但使用此代码:
InputStream is = Resources.getSystem().openRawResource(R.raw.adv_types);
给我运行时异常:资源未找到异常
虽然我可以使用此代码以非静态方法访问该文件:
InputStream is = getResources().openRawResource(R.raw.adv_types);
虽然它在静态方法中不可用。
你知道为什么第一个代码不起作用吗? 在静态方法中访问文本文件(或一般资源)的解决方案是什么?
答案 0 :(得分:5)
因为Resources.getSystem()
只允许您访问系统资源而不访问应用程序资源。来自文档:
返回仅提供访问权限的全局共享Resources对象 系统资源(没有应用程序资源),并且未配置 当前屏幕(不能使用尺寸单位,不改变基础 在方向等)。