不幸的是,当我调试代码时,Android应用程序中的app关闭错误

时间:2015-06-09 17:55:16

标签: java android multithreading android-asynctask

我已经在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.

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

1 个答案:

答案 0 :(得分:0)

看起来网址连接有误。你没有传递有效的URL吗? 引起:java.lang.IllegalArgumentException:必须提供有效的URL