Возникли проблемы с JSoup в Android (для анализа HTML) - PullRequest
0 голосов
/ 08 декабря 2010

Я работаю над небольшим тестовым приложением, чтобы очистить некоторые данные (в данном случае комиксы XKCD) из Интернета и отобразить их на моем телефоне. Это мой первый опыт программирования на Android, и я не слишком разбираюсь в Java, поэтому я не слишком амбициозен. Я успешно написал программу на Java, которая выполняет ту же функцию, которую я хочу выполнять на Android, и она прекрасно работает, но часть моего кода, работающего на Java, вызывает сближение в Android. Конкретно этот маленький кодовый блок:

try {
        home = Jsoup.connect("http://www.xkcd.com").get();
        Log.i("connect to home","completed");
    } catch (IOException e) {
        Log.i("connect to home","failed");
    }

Каждый раз, когда запускается, я вижу сообщение «не удалось» в журнале. Если я удалю этот раздел моего кода, мое приложение будет работать прекрасно, поэтому я знаю, что ошибка должна быть там. «Дом» определяется как Документ в другом месте моего кода, если вам интересно. В Java это работает нормально, мне также показалось странным, что когда в Eclipse разрабатывали для Android, это заставило меня окружить этот оператор блоком try-catch, но в Java мне не понадобился try-catch. Есть идеи, почему это не сработает? Если вам понадобится больше информации или больше моего кода, я предоставлю ее (хотя я пытался рассказать всю историю).

Большое спасибо за помощь

1 Ответ

1 голос
/ 08 декабря 2010

Каждый раз, когда запускается, в журнале появляется сообщение «fail».

Записать исключение e.Он содержит информацию о том, как / почему / где это не удалось.Никогда не подавляйте исключение без веской причины (то есть вы точно знаете, что делаете).

Мне также странно, что когда в Eclipse-разработке для Android это заставляло менячтобы окружить это утверждение блоком try-catch, но в Java мне не понадобился try-catch.

Скорее всего, у вас уже есть throws IOException для метода, например, так:

public void foo() throws IOException {
    Document document = Jsoup.connect(url).get();
    // ...
}

тогда вам действительно не нужно помещать его в try-catch.

См. Также:

...