【问题标题】:Resources.getSystem().openRawResource gives resource not found exceptionResources.getSystem().openRawResource 给出资源未找到异常
【发布时间】:2013-11-13 01:05:38
【问题描述】:

在我的 android 应用程序中,我想以静态方法访问我的文本文件,但使用以下代码:

InputStream is = Resources.getSystem().openRawResource(R.raw.adv_types);

给我运行时异常:资源未找到异常

虽然我可以使用此代码以非静态方法访问文件:

InputStream is = getResources().openRawResource(R.raw.adv_types);

虽然它不能用于静态方法。

您知道为什么第一个代码不起作用吗? 以静态方法访问文本文件(或一般资源)的解决方案是什么?

【问题讨论】:

标签: android inputstream static-methods


【解决方案1】:

因为Resources.getSystem() 只允许您访问系统资源而不是应用程序资源。来自文档:

返回一个全局共享资源对象,该对象仅提供对 系统资源(无应用程序资源),并且未配置为 当前屏幕(不能使用尺寸单位,不改变基于 关于方向等)。

【讨论】:

  • 你的意思是Resources.getSystem()getResources() 使用当前上下文。
  • 完全正确。 getResource() 是 Context 类的方法
  • 我的意思是我认为你把它贴错了。您发布的是 Resources.getSystem() 的 Javadoc。
  • 你不能。你需要有一个上下文
猜你喜欢
  • 2011-03-23
  • 1970-01-01
  • 2019-03-02
  • 2017-03-04
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多