0

皆さんこんにちは。Jsoup ライブラリを使用して URL を抽出し、String 型の ArrayList に割り当てる Java ファイル (接続) から画像の URL を表示する際に問題が発生しています。

public class Connection {

ArrayList<String> StringArray = new ArrayList<String>();
private String fileExtension = "jpg";
private String html = "http://mcs.une.edu.au/~salmutai/cameras";
private int count = 0;


public void UrlExtract() throws Exception {

    Document doc = Jsoup.connect(html).get();
    Elements castURL = doc.select("a");
    for (Element el : castURL) {
        String src = el.absUrl("href");
        String extension = src.substring(src.lastIndexOf(".") + 1,
                src.length());
        if (extension.equalsIgnoreCase(fileExtension)) {
            StringArray.add(src);
            count++;

        }
    }

}

public int getCount() throws Exception {
    return count;
}

public String ImgArray(int i) throws Exception {

    String[] StrArray = new String[count];
    StrArray = (String[]) StringArray.toArray(StrArray);
    return StrArray[i];
}

}

Toast を使用して正確な URL と画像の数を表示するにはどうすればよいですか。また、GridView を使用してすべての画像を順番に表示しています。前のコードは Java アプリケーションでは機能しますが、Android アプリでは機能しません

4

2 に答える 2

0

Android から実行しているときに解析コードが機能しない理由に関する問題については、取得された html が異なる可能性があるとしか考えられませんが、それは推測に過ぎません。Androidから実行するときは、コードをデバッグする必要があります。解決策は、取得した html をログ ファイルに出力し、違いがあるかどうかを確認することです。

Toast を使用したメッセージの表示について:

String text = "Found " + StringArray.size() + " images at the url: " + html;
Toast.makeText(getApplicationContext(), text, Toast.LENGTH_SHORT).show();

注: count変数をインクリメントする必要はありません。StringArray.size()を呼び出すことで、StringArray リストの大きさを確認できます。

于 2014-04-08T07:46:05.570 に答える