【问题标题】:context.getResources().openRawResource() crashes the appcontext.getResources().openRawResource() 使应用程序崩溃
【发布时间】:2012-07-18 14:58:33
【问题描述】:

我正在尝试让 android 从 R.raw 文件夹中已有的文本文件中读取。

我有函数 void readfile(Context context) 包含该行

InputStream is = context.getResources().openRawResource(R.raw.data);

但是,当我尝试运行该应用程序时,它会在该行崩溃。你能告诉我一个解决方法吗?还是从该文件中读取的另一种方式?

【问题讨论】:

  • 可能是context is null....add your logcat

标签: android file text android-resources android-context


【解决方案1】:

给定的上下文显然存在问题。你应该发布你的 logcat。

有两种方法可以解决您的问题。

  1. 传递正确的上下文:查看您的程序有什么问题以及给定上下文不正确的原因。
  2. 扩展应用程序,并将应用程序上下文保存在静态变量中:请参阅post

【讨论】:

  • 当然!对不起。这是粘贴您的代码行而不是我的代码行后的 logcat 报告:W/dalvikvm(279): threadid=1: thread exiting with uncaught exception (group=0x4001d800)
  • 顺便说一下,Context 应该小写,因为 getApplicationContext 不是静态的(根据我的编译器),这是一个静态引用。
  • 好吧,这一次我得到了另一个错误,虽然在调试时崩溃方法是完全一样的:打开 ZygoteInit$MethodAnd 文件(它没有任何内容)后它在同一行崩溃。错误是`E/AndroidRuntime(289): java.lang.RuntimeException: Unable to instance activity ComponentInfo{com.localhost/com.localhost.ShapesActivity}: android.content.res.Resources$NotFoundException: Resource ID #0x7f040000`
  • @user1489886 好的,我认为可以在没有上下文的情况下获取资源,我将编辑我的帖子。
猜你喜欢
  • 1970-01-01
  • 2017-11-10
  • 2012-08-18
  • 2012-02-12
  • 2014-03-18
  • 2014-11-14
  • 2018-12-05
  • 2012-08-25
  • 1970-01-01
相关资源
最近更新 更多