【问题标题】:unfortunately app closed error in android app when i debug the code不幸的是,当我调试代码时,android 应用程序中的应用程序关闭错误
【发布时间】:2015-06-09 17:55:16
【问题描述】:

我在android中开发了一个应用程序来查找电源关闭。当我运行应用程序时,不幸的是,一旦我调试应用程序就关闭了。这里我在doInbackground中遇到错误

我的java代码在这里

private static final String URL = "http://livechennai.com/powershutdown_news_chennai.asp";
//private static final String URL = "http://livechennai.com/powercut_schedule.asp";
ProgressDialog mProgressDialog;
EditText filterItems;
ArrayAdapter<String> arrayAdapter;

protected String[] doInBackground(Void... params) {
        ArrayList<String> hrefs=new ArrayList<String>();
        try {
            // Connect to website
            Document document = Jsoup.connect(URL).get();
            // Get the html document title
            websiteTitle = document.title();
            Elements table=document.select("#table13>tbody>tr>td>a[title]");
            for(Element link:table){
                hrefs.add(link.attr("abs:href"));
                //int arraySize=hrefs.size();
                //websiteDescription=link.attr("abs:href");
            }

        } catch (IOException e) {
            e.printStackTrace();
        }
        //get the array list values
        for(String s:hrefs)
        {
            websiteDescription=hrefs.get(0);
            websiteDescription1=hrefs.get(1);
            websiteDescription2=hrefs.get(2);
            websiteDescription3=hrefs.get(3);
        }

以下是错误日志

06-09 23:17:10.284  17923-17937/com.example.poweralert.app E/AndroidRuntime﹕ FATAL EXCEPTION: AsyncTask #1
    java.lang.RuntimeException: An error occured while executing doInBackground()
            at android.os.AsyncTask$3.done(AsyncTask.java:299)
            at java.util.concurrent.FutureTask.finishCompletion(FutureTask.java:352)
            at java.util.concurrent.FutureTask.setException(FutureTask.java:219)
            at java.util.concurrent.FutureTask.run(FutureTask.java:239)
            at android.os.AsyncTask$SerialExecutor$1.run(AsyncTask.java:230)
            at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1080)
            at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:573)
            at java.lang.Thread.run(Thread.java:838)
     Caused by: java.lang.IllegalArgumentException: Must supply a valid URL
            at org.jsoup.helper.Validate.notEmpty(Validate.java:102)
            at org.jsoup.helper.HttpConnection.url(HttpConnection.java:60)
            at org.jsoup.helper.HttpConnection.connect(HttpConnection.java:30)
            at org.jsoup.Jsoup.connect(Jsoup.java:73)
            at com.example.poweralert.app.PrimaryActivity$FetchWebsiteData.doInBackground(PrimaryActivity.java:144)
            at com.example.poweralert.app.PrimaryActivity$FetchWebsiteData.doInBackground(PrimaryActivity.java:100)
            at android.os.AsyncTask$2.call(AsyncTask.java:287)
            at java.util.concurrent.FutureTask.run(FutureTask.java:234)
            at android.os.AsyncTask$SerialExecutor$1.run(AsyncTask.java:230)
            at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1080)
            at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:573)
            at java.lang.Thread.run(Thread.java:838)
06-09 23:17:10.

如何解决此错误/问题?它在网站描述中显示为空。

【问题讨论】:

  • 如错误所说,只需使用有效的 URL
  • 已编辑,我也可以检查网址。它会很好..尝试并给出解决方案
  • 我该如何解决这个问题
  • 您的应用程序是否在代理或防火墙连接后面运行?可能是网址被屏蔽了?
  • 我通过移动互联网运行应用程序...

标签: java android multithreading android-asynctask


【解决方案1】:

URL 连接似乎有错误。您没有传递有效的 URL 吗? 原因:java.lang.IllegalArgumentException:必须提供有效的 URL

【讨论】:

  • 尝试使用 URLConnection 类连接到 URL 而不是 jsoup。
  • 我使用 Jsoup 解析 URL 内容...几天前它工作正常
猜你喜欢
  • 2015-07-07
  • 1970-01-01
  • 2015-06-19
  • 2015-11-28
  • 2016-10-11
  • 1970-01-01
  • 2013-05-02
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多