股票Android:NPException:在android.content.res.StringBlock.get(int)

时间:2016-08-29 12:21:15

标签: android nullpointerexception resourcebundle

SO用户,请完整阅读然后决定标记Duplicate for NullPointer异常。

在app启动时,从ApplicationExt(扩展Application),我们初始化从Resource bundle(RawSource)加载CSV文件的线程。它总是适用于许多设备。但是第一次在下面的设备上崩溃了。第二次,它从包中加载。

操作系统版本:Lollipop(5.1.1) 设备:OnePlus A0001

崩溃日志:

Fatal Exception: java.lang.NullPointerException: Attempt to invoke virtual method 'java.lang.CharSequence android.content.res.StringBlock.get(int)' on a null object reference
       at android.content.res.AssetManager.getResourceValue(AssetManager.java:213)
       at android.content.res.Resources.getValue(Resources.java:1334)
       at android.content.res.Resources.getValue(Resources.java:1323)
       at android.content.res.Resources.openRawResource(Resources.java:1242)
       at android.content.res.Resources.openRawResource(Resources.java:1219)
       at com.xxxx.yyyy.network.NetworkManager.getBrandCodesFromCsvFile(NetworkManager.java:2961)
       at com.xxxx.yyyy.network.NetworkManager.getBrandCodes(NetworkManager.java:3221)
       at com.xxxx.yyyy.network.NetworkManager.checkAndUpdateMobileCodeFromBundle(NetworkManager.java:3110)
       at com.xxxx.yyyy.OurApplication$1.run(OurApplication.java:132)
       at java.lang.Thread.run(Thread.java:818)

代码段:

在应用程序中,onCreate(...),

  1. 创建代码为csv load
  2. 的线程
  3. 在onCreate结束时运行线程 - >新线程(ourThread).start();
  4. 此行确切崩溃:

    InputStream bundleStream = OurApplicationClass.getContext().getResources().openRawResource(sourceId);
    
  5. 注意:

    我在Github上发现了相关问题。 https://github.com/osmandapp/Osmand/issues/2575。但无法确认它是否适合我的情况。

0 个答案:

没有答案