Jsoup.connect () fonctionne avec Java, pas avec Android

J'ai essayé l'exemple Jsoup.connect() donné sur le site Jsoup et ça marche bien en Java.

Pour une raison quelconque, je ne peux pas le faire fonctionner dans Android Projects (Eclipse) même si AndroidManifest accès à Internet dans mon AndroidManifest . La bibliothèque Jsoup est installée correctement et je peux travailler avec Jsoup.parse() sans aucun problème. Voici quelques lignes de codes de ce qui fonctionne en Java et aussi la permission dans AndroidManifest .

  • Android: quand on onCreateOptionsMenu appelé pendant le cycle de vie de l'activité?
  • Impossible d'exécuter 'play' sur 'HTMLMediaElement': l'API ne peut être lancée que par un geste utilisateur
  • Marge à l'intérieur des boutons
  • Android comment un EditText fonctionne comme AutoComplete
  • ActionBar - PullToRefresh
  • Google Tag Manager lance le message "macro invalide"
  • Java

     public static void main(String[] args){ Document doc; try { doc = Jsoup.connect("http://google.ca/").get(); String title = doc.title(); System.out.print(title); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } 

    AndroidManifest.xml

     <uses-sdk android:minSdkVersion="12" /> <uses-permission android:name="android.permission.INTERNET"/> <application 

    Lorsque j'essaie de l'exécuter, il se bloque et le journal indique:

     01-09 20:19:30.560: E/AndroidRuntime(26839): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.mrdroidinator.com/com.mrdroidinator.com.Parselhjmq}: android.os.NetworkOnMainThreadException 

  • Comment obtenir la taille de l'écran du périphérique?
  • Android - ListView affiche uniquement le premier résultat
  • Android Microsoft dynamics CRM adal4j Login Issue
  • ListFiles () retourne null sur Android 6.0 émulateur
  • Glide ne peut pas charger le fichier depuis le stockage interne
  • Comment créer un tiroir de navigation sans bibliothèque de support
  • One Solution collect form web for “Jsoup.connect () fonctionne avec Java, pas avec Android”

    http://developer.android.com/reference/android/os/NetworkOnMainThreadException.html

    Le problème est que vous effectuez une opération réseau sur le thread principal, ce qui est interdit au niveau API 11+. C'est parce que si vous le faites, l'interface utilisateur est "gelée" jusqu'à ce que le document termine le téléchargement, il est donc nécessaire d'effectuer de telles opérations sur un thread différent, ce qui n'affecte pas la performance de l'interface utilisateur.

    Voici comment vous démarrez un nouveau fil:

     Thread downloadThread = new Thread() { public void run() { Document doc; try { doc = Jsoup.connect("http://google.ca/").get(); String title = doc.title(); System.out.print(title); } catch (IOException e) { e.printStackTrace(); } } }; downloadThread.start(); 
    coAndroid est un fan Android de Google, tout sur les téléphones Android, Android Wear, Android Dev et Android Games Apps.