1

我是 Android 应用程序开发的新手。我的 android 应用程序显示“不幸的是,AppTest 已停止。” 当我尝试使用以下代码使用Jsoup连接到 Internet 时。

我已经向AndroidManifest.xml添加了 Internet 权限。当我仅使用离线 html (例如<p>Nay</p>. 我的 Android 手机是完全可用的互联网连接。怎么了?

    Document doc;
    try {
        // need http protocol
        doc = Jsoup.connect("http://google.com").get();

        // get page title
        String title = doc.title();
        psi.setText(title);
    } catch (IOException e) {
        e.printStackTrace();
    }
4

2 回答 2

1

谢谢大家,但答案和建议对我没有多大帮助。在做了很多错误之后,我找到了解决方案。遇到此问题时,我想发布我的答案以帮助其他人。

Jsoup似乎在 UI 线程之外的另一个线程中运行。因此,您只需要使用AsyncTask创建另一个线程即可使用Jsoup,如下所示。

class GetHtmlwithJsoup extends AsyncTask<String, Integer, String>
protected String doInBackground(String... param) {  
   try {
     //Jsoup Connecting and Getting html page code at here
   } 
   catch (TwitterException e) {
     return "Failed to get";
   }
}

@Override
protected void onProgressUpdate(Integer... values) { // 
   super.onProgressUpdate(values);
   // Not used in my case
}

@Override
protected void onPostExecute(String result) { // 
   //show Jsoup HTML Ouput to UI widgets code at here...  
}
}
于 2013-06-29T08:39:08.180 回答
0

如果你doc在这个块之外使用,你必须检查它是否被正确初始化。

其他猜测,您的应用程序是否请求INTERNET权限?

于 2013-06-24T19:55:37.350 回答