Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/314.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 执行doInBackground()行时出错_Java_Android - Fatal编程技术网

Java 执行doInBackground()行时出错

Java 执行doInBackground()行时出错,java,android,Java,Android,我有时会收到以下碰撞报告: java.lang.RuntimeException: An error occured while executing doInBackground() at android.os.AsyncTask$3.done(AsyncTask.java:200) at java.util.concurrent.FutureTask$Sync.innerSetException(FutureTask.java:274) at java.util.concurrent.Futu

我有时会收到以下碰撞报告:

java.lang.RuntimeException: An error occured while executing doInBackground()
at android.os.AsyncTask$3.done(AsyncTask.java:200)
at java.util.concurrent.FutureTask$Sync.innerSetException(FutureTask.java:274)
at java.util.concurrent.FutureTask.setException(FutureTask.java:125)
at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:308)
at java.util.concurrent.FutureTask.run(FutureTask.java:138)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1088)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:581)
at java.lang.Thread.run(Thread.java:1019)
Caused by: java.lang.NullPointerException
at org.json.JSONTokener.nextCleanInternal(JSONTokener.java:112)
at org.json.JSONTokener.nextValue(JSONTokener.java:90)
at org.json.JSONObject.(JSONObject.java:154)
at org.json.JSONObject.(JSONObject.java:171)
at com.package.class.doMoreStuff(Student2.java:432)
at com.package.class$LoadAllProducts.doInBackground(Student2.java:608)
at com.package.class.Student2$LoadAllProducts.doInBackground(Student2.java:1)
at android.os.AsyncTask$2.call(AsyncTask.java:185)
at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:306)
... 4 more
java.lang.NullPointerException
at org.json.JSONTokener.nextCleanInternal(JSONTokener.java:112)
at org.json.JSONTokener.nextValue(JSONTokener.java:90)
at org.json.JSONObject.(JSONObject.java:154)
at org.json.JSONObject.(JSONObject.java:171)
at com.package.class.doMoreStuff(Student2.java:432)
at com.package.class$LoadAllProducts.doInBackground(Student2.java:608)
at com.package.class.$LoadAllProducts.doInBackground(Student2.java:1)
at android.os.AsyncTask$2.call(AsyncTask.java:185)
at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:306)
at java.util.concurrent.FutureTask.run(FutureTask.java:138)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1088)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:581)
at java.lang.Thread.run(Thread.java:1019)
我知道问题发生在112号线上。该行代码为:

    if(isTablet(context))
    {
        new online().execute();
    }
    else
    {
        setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);
        mHandler.postDelayed(new Runnable() 
        {
            public void run() 
            {
                if(getResources().getConfiguration().orientation == 2)
                {
                    new online().execute();
                }
            }
        }, 200);
    }
第112行是
其他
,我让应用程序检查它是否是平板电脑,如果不旋转屏幕,请稍等,然后继续。我必须对它设置一个延迟,否则它会在应用程序完全旋转之前继续运行并崩溃。我不确定是什么原因导致应用程序仅在一台设备上崩溃

我刚刚注意到我在那里有
if(getResources().getConfiguration().orientation==2)
行,这不是原因,不是吗

编辑: 第432行是

JSONObject jObject = new JSONObject(aBuffer);

我遇到的问题不是由第112行的代码引起的,而是由第432行的代码引起的:

JSONObject jObject = new JSONObject(aBuffer);

当变量
aBuffer
未初始化时,应用程序正在崩溃。它与其他变量一起声明,但没有初始化。它只是在一个try块中被初始化,在某些情况下被执行。我更改了代码,以便初始化并解决问题。

domorteuff
中第432行是什么?这就是你的错误所在。112在json库中,它似乎是MSI在第432行编辑的。我想我发现了问题所在(我可能错了)。
aBuffer
是与其余变量一起声明的,但我只是在代码部分中初始化了它,这并不总是运行的。所以这个变量在声明的地方被初始化。你确定这是
Student2.java
的第432行吗?因为该行不应该抛出一个
NPE
,但可能会在其他地方引发一个NPE。无论如何,如果
aBuffer
在那里为
null
,您可能想采取一些措施,或者在每次调用它的地方初始化它。在它上面有一段代码,这是一个try块,用于初始化
aBuffer
。有时try块失败,这意味着它没有初始化。我已经更改了它,所以每次都会对它进行初始化。好的,现在可以使用了吗?