0

私は現在、小さなアンドロイドで作業しようとしています。すべての憎しみの前に-はい、検索を試みて、自分に関連する回答を見つけましたが、彼らが行った方法で自分を動作させることができませんでした:/。Jsoup は、HTML からデータを解析してアプリで使用するのに適していることがわかりました。

だから私はここKrakからデータを受信しようとしています

数字の入力を入力するときは、「86202710」と言ってください。リンクはNumber linkになります。

次に、「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

AsyncTaskAndroidでは、ネットワークコードを実行する必要があります。それ以外はすべて失敗します。

ここを参照してください: 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 に答える