0

我现在正在尝试使用一个小机器人。在所有的仇恨之前 - 是的,我已经尝试搜索并找到与我相关的答案,但我根本无法让我的工作以他们的方式工作:/。我发现 Jsoup 非常适合从 HTML 解析数据以在应用程序中使用。

所以我试图从这里接收数据Krak

因此,当我输入数字时,可以说“86202710”链接将是数字链接

然后,我尝试提取给定号码的所有者姓名,即“Jens Fisker Automobiler A/S”。但我似乎无法将此文本放入我的文本视图中。希望你们能指导我一点......我得到一个例外“NetworkOnMainThreadException” - AndroidBlockGuardPolicy.onNetwork”

这是我为提取号码所有者的方法编写的代码

public void getData() throws IOException{
    URL url = new URL("http://mobil.krak.dk/h/#companyResult&searchWord=86202710");
    Document doc = Jsoup.parse(url, 3000);
    Element content = doc.select("p[header bold]").first();
    text = (TextView) findViewById(R.id.tv);
    text.setText(content.text());

}
4

1 回答 1

0

您必须AsyncTask在 Android 上运行您的网络代码。其他一切都会失败。

请参阅此处:使用 Jsoup 解析 Html 时出错

顺便提一句。比此类连接更好的使用connect()方法:parse()

public void getData() throws IOException{
    // You can use a simple string as url
    final String url = "http://mobil.krak.dk/h/#companyResult&searchWord=86202710";
    // Connect to url and parse it's content
    Document doc = Jsoup.connect(url).get(); // Timeout is set to 3 Sec. per default

    // Everything else stays same

    Element content = doc.select("p[header bold]").first();
    text = (TextView) findViewById(R.id.tv);
    text.setText(content.text());

}
于 2013-06-07T14:09:47.723 回答