2013-04-06 4 views
0

J'ai été bloqué sur ce problème pendant longtemps et je n'arrive pas à trouver de solution. J'ai une méthode où je veux récupérer la source HTML d'un site Web, mais chaque fois que j'exécute l'étape client.execute, Eclipse affiche "Source introuvable". Je peux frapper un point d'arrêt avant cette étape et si j'essaie de "passer au-dessus" de cette ligne ou juste frapper "aller" je reçois toujours "Source non trouvée". Ceci est ma méthode"Source introuvable" lors du débogage du code Android dans Eclipse

private void getQuestions() 
{ 
    try 
    { 

     URI url = null; 
     try 
     { 
      url = new URI("http://google.com"); 
     } 
     catch (URISyntaxException e) 
     { 
      e.printStackTrace(); 
     } 

     HttpClient client = new DefaultHttpClient(); 
     HttpGet request = new HttpGet(); 
     request.setURI(url); 

     // THIS LINE CAUSES SOURCE NOT FOUND 
     HttpResponse response = client.execute(request); 

     System.out.println("HttpResponse received"); 

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

} 

Dans mon dossier AndroidManifest.xml J'ai également ajouté ce qui suit avant mes tags

<uses-sdk 
    android:minSdkVersion="13" 
    android:targetSdkVersion="17" /> 
<uses-permission android:name="android.permission.INTERNET"/> 

J'ai trouvé des personnes ayant des problèmes similaires et ont essayé leurs corrections sans Succès. J'ai ajouté mon nom d'application à mon chemin source et je l'ai placé au-dessus de Default.

source

J'ai aussi déplacé que ma demande soit en bas de mes chemins de construction

build path

Je courais Eclipse IDE pour les développeurs Java

Version: service Juno Release 1

+0

Cela signifie généralement l'application est tombé en panne, vous pouvez créer un lien vers le code source pour HttpClient avec [ "source introuvable" débogage Eclipse] (http://stackoverflow.com/q/1960158/1267661). Cependant, ce n'est pas la raison pour laquelle votre application a planté, ouvrez la fenêtre LogCat pour voir la trace de la pile. – Sam

+0

@Sam [voici une capture d'écran de mon logcat] (http://i.imgur.com/LDEYkvb.png), mais cela ne semble pas être utile? – Matt

+0

Vérifiez la solution dans le bas - http://stackoverflow.com/questions/9161430/using-httpget-on-android. Cela peut fonctionner pour vous. –

Répondre

0

J'ai créé une démo, et son fonctionnement bien dans le mien .. s'il vous plaît vérifier, je pense qu'il pourrait vous aider ..

URI url = null; 
     try 
     { 
      url = new URI("http://www.google.com"); 

      HttpClient client = new DefaultHttpClient(); 
      HttpGet request = new HttpGet(url); 

      HttpResponse response = client.execute(request); 

      BufferedReader rd = new BufferedReader(new InputStreamReader(response.getEntity().getContent())); 
      String line = ""; 
      StringBuilder total = new StringBuilder(); 
      try 
      { 
       while ((line = rd.readLine()) != null) 
       { 
        total.append(line); 
       } 
      } 
      catch (IOException e) 
      { 
       e.printStackTrace(); 
      } 
      Log.w("Html",total.toString()); 
     } 
     catch (Exception e) 
     { 
      e.printStackTrace(); 
     } 

et je l'utilise dans mon fichier manifeste.

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

et je pense que vous devriez mettre votre fichier « jsoup-1.7.2.jar » dans le répertoire libs et jar ajouter dans le projet de ce répertoire libs. et cochez simplement la case "check (true)" de votre jar dans la boîte de dialogue Java Build Path. (Ce n'est pas nécessaire mais ça devrait être vérifié). comme ..

enter image description here

+0

J'ai le fichier jsoup.jar dans mon dossier libs. Voici mon [Package Explorer] (http://i.imgur.com/rbAsItc.png). De plus, j'ai tout vérifié dans mon [Java Build Path] (http://i.imgur.com/1zVscCT.png). Toujours pas de chance. Je suis complètement déconcerté. – Matt

+0

Ah! J'attrape finalement une exception "android.os.NetworkOnMainThreadException" après avoir ajouté catch (Exception e) à mon code. Je n'ai pas encore compris pourquoi j'ai encore une exception, mais c'est beaucoup mieux! – Matt

Questions connexes