Android-作为InputStream的原始资源

Android-作为InputStream的原始资源,android,resources,nullpointerexception,inputstream,Android,Resources,Nullpointerexception,Inputstream,因此,我尝试与Android建立HTTPS连接,使用客户端证书进行验证。我已将此证书导入BKS存储,并插入我的res/raw 一切都好 然而,当我开始运行时,我会得到一个常量NullPointerException。 对于上下文,我有一个连接类,扩展应用程序,基本构造函数应该只将证书作为InputStream打开并保持它就绪。当我来连接时,这将被使用。详情如下(摘要): 这方面的构建运行良好,但是,当我们到达那里(真实版本中的第36行)时,堆栈跟踪如下所示: java.lang.RuntimeE

因此,我尝试与Android建立HTTPS连接,使用客户端证书进行验证。我已将此证书导入BKS存储,并插入我的res/raw

一切都好

然而,当我开始运行时,我会得到一个常量NullPointerException。
对于上下文,我有一个连接类,扩展应用程序,基本构造函数应该只将证书作为InputStream打开并保持它就绪。当我来连接时,这将被使用。详情如下(摘要):

这方面的构建运行良好,但是,当我们到达那里(真实版本中的第36行)时,堆栈跟踪如下所示:

java.lang.RuntimeException: Unable to start activity   ComponentInfo{com.<company>.t1v2/com.<company>.t1v2.SplashAndText}: java.lang.NullPointerException
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2496)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2512)
at android.app.ActivityThread.access$2200(ActivityThread.java:119)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1863)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:123)
at android.app.ActivityThread.main(ActivityThread.java:4363)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:521)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:860)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:618)
at dalvik.system.NativeStart.main(Native Method)
Caused by: java.lang.NullPointerException
at android.content.ContextWrapper.getResources(ContextWrapper.java:80)
at com.<company>.<component>.RCPHandshake2.<init>(RCPHandshake2.java:36)
at com.<company>.t1v2.SplashAndText.onCreate(SplashAndText.java:43)
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1047)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2459)
... 11 more
java.lang.RuntimeException:无法启动活动组件信息{com..t1v2/com..t1v2.SplashAndText}:java.lang.NullPointerException
在android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2496)上
位于android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2512)
在android.app.ActivityThread.access$2200(ActivityThread.java:119)
在android.app.ActivityThread$H.handleMessage(ActivityThread.java:1863)
位于android.os.Handler.dispatchMessage(Handler.java:99)
位于android.os.Looper.loop(Looper.java:123)
位于android.app.ActivityThread.main(ActivityThread.java:4363)
位于java.lang.reflect.Method.Invokenactive(本机方法)
位于java.lang.reflect.Method.invoke(Method.java:521)
在com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run上(ZygoteInit.java:860)
位于com.android.internal.os.ZygoteInit.main(ZygoteInit.java:618)
在dalvik.system.NativeStart.main(本机方法)
原因:java.lang.NullPointerException
位于android.content.ContextWrapper.getResources(ContextWrapper.java:80)
在com上…RCPHandshake2。(RCPHandshake2.java:36)
在com..t1v2.SplashAndText.onCreate上(SplashAndText.java:43)
位于android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1047)
在android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2459)上
... 还有11个
这似乎出乎意料。以前有人遇到过类似的情况吗?
永恒的爱和感激,以换取任何解决方案/提示/提示/指点,这些都来自于对我更有经验的人


PS-基本上,即使我知道原始资源在那里,并且它出现在R.java中,这似乎认为它无法访问它?是这样的,还是我遗漏了什么

似乎无法从构造函数访问资源,因为对象尚未初始化。当您第一次真正需要时,请稍后尝试调用它。

由于对象尚未初始化,您似乎无法从构造函数访问资源。当你第一次真正需要的时候,试着稍后再打电话给它。

我也有同样的问题。事实证明,我使用了错误的(空)上下文,因此实际上没有可通过getResource()->NullPointerException访问的资源

我也有同样的问题。事实证明,我使用了错误的(空)上下文,因此实际上没有可通过getResource()->NullPointerException访问的资源

若要使用原始InputStream打开这些资源,请使用资源ID R.raw.filename调用resources.openRawResource()。

若要使用原始InputStream打开这些资源,请使用资源ID R.raw.filename调用resources.openRawResource()。

我尝试过,我认为它有效,但没有成功。所以我创建了一个新的RCPHandshake2实例,然后调用它的getSocketFactory()方法。我甚至试过这样做。getResources()。。。。但这没用。你还有什么想法吗?提前感谢:-)我试过了,我认为它有效,但没有。所以我创建了一个新的RCPHandshake2实例,然后调用它的getSocketFactory()方法。我甚至试过这样做。getResources()。。。。但这没用。你还有什么想法吗?提前感谢:-)
java.lang.RuntimeException: Unable to start activity   ComponentInfo{com.<company>.t1v2/com.<company>.t1v2.SplashAndText}: java.lang.NullPointerException
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2496)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2512)
at android.app.ActivityThread.access$2200(ActivityThread.java:119)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1863)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:123)
at android.app.ActivityThread.main(ActivityThread.java:4363)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:521)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:860)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:618)
at dalvik.system.NativeStart.main(Native Method)
Caused by: java.lang.NullPointerException
at android.content.ContextWrapper.getResources(ContextWrapper.java:80)
at com.<company>.<component>.RCPHandshake2.<init>(RCPHandshake2.java:36)
at com.<company>.t1v2.SplashAndText.onCreate(SplashAndText.java:43)
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1047)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2459)
... 11 more