Jsoup ошибка с get () в Android - PullRequest
2 голосов
/ 23 июня 2011

Я пытаюсь использовать Jsoup 1.6.0 в своем приложении для Android, но по какой-то причине происходит сбой.Я упростил свой код до:

import android.app.Activity;
import android.os.Bundle;
import android.widget.Toast;

public class JsoupTestActivity extends Activity {
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);

        try {
            Document d = Jsoup.connect("http://www.google.com").get();
        } catch (Exception e) {
            Toast t = Toast.makeText(this, e.getMessage(), Toast.LENGTH_LONG);
            t.show();
        }
    }
}

Но всякий раз, когда я запускаю вышеупомянутое на моем телефоне (в режиме отладки USB) или на эмуляторе, я получаю сообщение о том, что моя программа неожиданно потерпела крах - ошибка не быладаже не пойман.Если я заменю содержимое блока try на

 Jsoup.connect("http://www.google.com");

, программа будет работать нормально, поэтому похоже, что метод get () вызывает проблемы ...

К вашему сведению, в моемAndroidManifest.xml Я включил

<uses-permission android:name="android.permission.INTERNET"></uses-permission>

в правильном месте, а R.layout.main - это макет по умолчанию, который ADT генерирует при создании нового проекта.Я использую Android API уровня 7 для этого проекта.Как мне заставить это работать?

Ответы [ 2 ]

0 голосов
/ 19 февраля 2015

вы не можете выполнять сетевые операции из потока пользовательского интерфейса, поэтому вы должны удалить JSoup.connect () из onCreate () и использовать ASyncTask

0 голосов
/ 04 июля 2012

Попробуйте загрузить новую версию Jsoup и вставьте jsoup-1.6.x.jar в папку libs из своего проекта.

...