0

干草每个人;我在显示来自 java 文件(连接)的图像 url 时遇到问题,该文件使用 Jsoup 库来提取 url 并将它们分配给 String 类型的 ArrayList。

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();

注意:您不需要增加计数变量,您可以通过调用StringArray.size()来查看 StringArray 列表的大小

于 2014-04-08T07:46:05.570 回答
0

现在的主要问题是当我在活动 2 中调用此代码时:

try {
Connection co = new Connection();
co.UrlExtract();
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}

该应用程序正在崩溃:(。

于 2014-04-09T02:19:31.790 回答