Вызов Jsoup.connect приводит к сбою приложения для Android

Я работаю над приложением на основе местоположения, которое определяет местоположение пользователя и извлекает данные на основе местоположения с веб-сайта. Я могу создать приложение для успешного определения местоположения пользователя, и я даже могу создать приложение для извлечения и анализа данных HTML с помощью Jsoup. Теперь я попытался объединить оба, но приложение вылетает.

Я читал из других сообщений, что создание нового потока для HTTP-запросов решит проблему, но я не могу понять, где его создать в программе и запустить поток.

Я попытался создать поток в функции onCreate и запустить его в LocationListener, как это, но все еще не работает.

при создании

Runnable runnable = new Runnable() {  
    @Override
    public void run() { 
        Document doc;  
        try {                                              
            doc = Jsoup.connect("http://google.com/").get();
            String title = doc.title();                    
            tv.setText(title);                       
        }
          catch (IOException e)
            {                          
                e.printStackTrace();                           
             }
    }

};

Прослушиватель местоположения

Thread mythread = new Thread(runnable);
    mythread.start();

Вот структура моего кода

public class MainActivity extends Activity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);

    setContentView(R.layout.activity_main);

    // some content
    }

  public class MyLocationListener implements LocationListener
  {

  @Override
  public void onLocationChanged(Location loc)
  {       


       try { 
             // block of code to get user location
            }

       catch (IOException e) {
    // TODO Auto-generated catch block
            e.printStackTrace();
         }
       }
}

Я хотел бы сохранить этот исполняемый поток в отдельной функции, чтобы он вызывался только при изменении местоположения.

Могу ли я получить некоторую помощь для этого? заранее спасибо

обновление – Logcat

06-17 17:05:37.027: I/dalvikvm(14034): Could not find method org.jsoup.Jsoup.connect, referenced from method com.example.loc_update.MainActivity$1.run
06-17 17:05:37.027: W/dalvikvm(14034): VFY: unable to resolve static method 8726: Lorg/jsoup/Jsoup;.connect (Ljava/lang/String;)Lorg/jsoup/Connection;
06-17 17:05:37.027: D/dalvikvm(14034): VFY: replacing opcode 0x71 at 0x0002
06-17 17:05:37.062: W/dalvikvm(14034): threadid=11: thread exiting with uncaught exception (group=0x419002a0)
06-17 17:05:37.062: E/AndroidRuntime(14034): FATAL EXCEPTION: Thread-11600
06-17 17:05:37.062: E/AndroidRuntime(14034): java.lang.NoClassDefFoundError: org.jsoup.Jsoup
06-17 17:05:37.062: E/AndroidRuntime(14034):    at com.example.loc_update.MainActivity$1.run(MainActivity.java:112)
06-17 17:05:37.062: E/AndroidRuntime(14034):    at java.lang.Thread.run(Thread.java:856)
06-17 17:05:37.282: D/libEGL(14034): loaded /system/lib/egl/libEGL_mali.so
06-17 17:05:37.307: D/libEGL(14034): loaded /system/lib/egl/libGLESv1_CM_mali.so
06-17 17:05:37.312: D/libEGL(14034): loaded /system/lib/egl/libGLESv2_mali.so
06-17 17:05:37.312: D/(14034): Device driver API match
06-17 17:05:37.312: D/(14034): Device driver API version: 10
06-17 17:05:37.312: D/(14034): User space API version: 10 
06-17 17:05:37.312: D/(14034): mali: REVISION=Linux-r2p4-02rel0 BUILD_DATE=Tue Oct 16 15:37:13 KST 2012 
06-17 17:05:37.372: D/OpenGLRenderer(14034): Enabling debug mode 0
06-17 17:05:46.847: I/Choreographer(14034): Skipped 566 frames!  The application may be doing too much work on its main thread.
06-17 17:05:48.527: I/Process(14034): Sending signal. PID: 14034 SIG: 9

person Vinay Potluri    schedule 17.06.2014    source источник
comment
Если бы вы могли опубликовать трассировку стека, это было бы полезно   -  person Will Jamieson    schedule 18.06.2014
comment
Вы обновили разрешения? <uses-permission android:name="android.permission.INTERNET"/>   -  person Will Jamieson    schedule 18.06.2014
comment
Да, все необходимые разрешения добавлены   -  person Vinay Potluri    schedule 18.06.2014
comment
Есть строка, в которой говорится, что приложение может выполнять слишком много работы в своем основном потоке. Если я не могу разместить runnable на onCreate, то где именно мне его использовать.   -  person Vinay Potluri    schedule 18.06.2014
comment
stackoverflow.com/questions/11085162/ Кажется, это ваша точная ошибка и решение   -  person Will Jamieson    schedule 18.06.2014
comment
Исправление свойств проекта у меня не получилось. Все, что я хотел знать, это то, где в этой программе я должен использовать функцию Runnable Thread. Работающий поток здесь получает http-контент с помощью Jsoup.   -  person Vinay Potluri    schedule 18.06.2014
comment
Используйте developer.android.com/reference/android/os/AsyncTask.html для выполнения любых http-запросов. Я рекомендую его, потому что вы получаете больше контроля над ним. И посмотрите пример здесь: developer.android.com/reference/android/os /AsyncTask.html о jsoup и вернуться, если этот метод снова не сработает.   -  person Muhammad Riyaz    schedule 19.06.2014
comment
Возможный дубликат Использовать Jsoup в Android   -  person Frederic Klein    schedule 15.11.2016