【发布时间】:2016-01-26 16:33:16
【问题描述】:
我目前无法在我的物理设备 (S6) 上重新创建此错误。事情对我来说很好,我所做的改变似乎并没有解决这个问题。我有以下错误:
java.lang.RuntimeException: An error occured while executing doInBackground()
at android.os.AsyncTask$3.done(AsyncTask.java:300)
at java.util.concurrent.FutureTask.finishCompletion(FutureTask.java:355)
at java.util.concurrent.FutureTask.setException(FutureTask.java:222)
at java.util.concurrent.FutureTask.run(FutureTask.java:242)
at android.os.AsyncTask$SerialExecutor$1.run(AsyncTask.java:231)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1112)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:587)
at java.lang.Thread.run(Thread.java:818)
Caused by: java.lang.ExceptionInInitializerError
at a.a.b.m.a(Unknown Source)
at a.a.b.p.<clinit>(Unknown Source)
at a.a.b.g.<init>(Unknown Source)
at a.a.b.f.<init>(Unknown Source)
at a.a.c.di.b(Unknown Source)
at a.a.c.di.a(Unknown Source)
at a.a.c.b.a(Unknown Source)
at a.a.c.ae.a(Unknown Source)
at a.a.a.a.a(Unknown Source)
at a.a.a.f.e(Unknown Source)
at a.a.a.b.a(Unknown Source)
at com.airborne.grgr4.f.a(Unknown Source)
at com.airborne.grgr4.f.doInBackground(Unknown Source)
at android.os.AsyncTask$2.call(AsyncTask.java:288)
at java.util.concurrent.FutureTask.run(FutureTask.java:237)
... 4 more
Caused by: java.lang.NullPointerException: in == null
at java.util.Properties.load(Properties.java:246)
at a.a.b.m.d(Unknown Source)
at a.a.b.m.<clinit>(Unknown Source)
我知道在尝试从后台线程或其他线程滥用更新 UI 时,这是一个很常见的错误。让我感到困惑的是我无法在我的 Galaxy S6 上重新创建此错误,因此我无法正确修复它。这是我的异步代码:
new selectRepsBasedOnZipCode().execute(zipCode);
^^调用方法。
private class selectRepsBasedOnZipCode extends AsyncTask<String, Void, ArrayList<String>> {
protected ArrayList<String> doInBackground(String... params) {
ArrayList<String> UserRepsBasedOnZip = new ArrayList<String>();
String firstPartOfURL = "https://www.opencongress.org/search/result?q=";
String lastPartOfURL = "&search_people=1";
String urlToParse = firstPartOfURL + params[0] + lastPartOfURL;
try {
Document doc = Jsoup.connect(urlToParse).get();
Elements content = doc.getElementsByClass("name");
for (Element name : content) {
UserRepsBasedOnZip.add(name.childNode(0).toString().trim());
}
} catch (Exception ex) {
return UserRepsBasedOnZip;
}
return UserRepsBasedOnZip;
}
@Override
protected void onPostExecute(ArrayList<String> UserRepsBasedOnZip) {
finishBuildingLocalRepPage(UserRepsBasedOnZip);
}
}
我正在使用 JSoup 来完成其中的一些工作。正如我所说,我无法重新创建问题(程序是从我设备上的 Android Studio 编译的最新版本),但我知道其他有应用程序报告此崩溃的人。
这是我在这个阶段的事件中唯一的异步方法,所以这让我相信这一定是崩溃发生的地方。任何有关修复以及如何验证修复的反馈或建议都会非常棒,谢谢。
+如果您能解释为什么这在我的设备 (S6) 上可以完美运行,但在所有其他设备 (L-01F、Galaxy Tab A 8.0、Galaxy S4、HTC One) 上却失败了,则额外奖励。
【问题讨论】:
标签: java android exception android-asynctask jsoup