首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Java RuntimeException doInBackground()

Java RuntimeException doInBackground()
EN

Stack Overflow用户
提问于 2016-01-26 16:33:16
回答 2查看 709关注 0票数 0

我目前无法在物理设备(S6)上重新创建此错误。事情对我来说很好,我所做的改变似乎并没有解决这个问题。我有以下错误:

代码语言:javascript
复制
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时,这是一个相当常见的错误。困扰我的是,我无法在我的GalaxyS6上重新创建这个错误,所以我无法正确地修复它。下面是我的异步代码:

代码语言:javascript
复制
new selectRepsBasedOnZipCode().execute(zipCode);

^^调用方法。

代码语言:javascript
复制
    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编译的,作为最新版本),但是其他我知道有应用程序的人报告了这次崩溃。

这是我在这个阶段所拥有的唯一的异步方法,所以这让我相信这一定是崩溃发生的地方。任何关于修复的反馈或建议,以及如何验证修复将是很好的,谢谢。

如果你能解释为什么这在我的设备(S6)上完美无缺地工作,而在所有其他设备(L-01F,GalaxyTabA8.0,GalaxyS4,HTC )上却失败了,那就更好了。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2016-01-26 16:59:23

问题是ProGard,当您使用jsoup代码时。只要检查一下这个答案:https://stackoverflow.com/a/15199658/4848308

请检查这个问题,jsoup代码在Java中工作,但在中不起作用。

希望能帮上忙!

票数 1
EN

Stack Overflow用户

发布于 2016-01-26 16:53:00

我建议您使用Log.e()或Log.i()跟踪错误。你会得到它作为参考,你可以参考博客,我有参考AsyncTask

票数 -2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/35018901

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档