2013-04-06 2 views
0

Я давно застрял в этой проблеме и не могу найти исправления. У меня есть метод, в котором я хочу получить HTML-источник веб-сайта, но каждый раз, когда я запускаю шаг client.execute, Eclipse выводит «Источник не найден». Я могу ударить точку останова до этого шага и попытаюсь ли я «перешагнуть» эту строку или просто нажать «пойти», я все равно получаю «Источник не найден». Это мой метод«Источник не найден» при отладке кода Android в 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(); 
    } 

} 

В моем файле AndroidManifest.xml Я также добавил следующее до моих тегов

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

Я нашел несколько людей с похожими проблемами и не пытался их исправление с не успех. Я добавил свое имя приложения в исходный путь и разместил его над стандартным.

source

Я также переместил приложение, чтобы быть Дно моей сборки путей

build path

Я бегу Eclipse IDE для разработчиков Java

Версия: Juno Service Release 1

+0

Это обычно означает, что приложение разбился, вы можете связать с исходным кодом для HttpClient с [доводки «источник не найден» Затмение] (http://stackoverflow.com/q/1960158/1267661). Однако это не причина, по которой ваше приложение разбилось, откройте окно LogCat, чтобы увидеть трассировку стека. – Sam

+0

@Sam [вот скриншот моего logcat] (http://i.imgur.com/LDEYkvb.png), но, похоже, он не дает ничего полезного? – Matt

+0

Проверьте решение в нижней части страницы - http://stackoverflow.com/questions/9161430/using-httpget-on-android. Это может сработать для вас. –

ответ

0

Я создал одно демо, и его рабочий штраф в моем .. пожалуйста, проверьте его, i думаю, это может помочь вам.

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(); 
     } 

и я использую это в своем файле манифеста.

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

и я думаю, что вы должны поместить файл «jsoup-1.7.2.jar» в директории LIBS и добавить банку в проекте из этого каталога ЛИЭСА. и просто установите флажок «Проверить (true)» вашего баннера в диалоговом окне «Путь сборки Java». (Это не обязательно, но он должен быть проверен). как ..

enter image description here

+0

У меня есть файл jsoup.jar в папке libs. Вот мой [Package Explorer] (http://i.imgur.com/rbAsItc.png). Кроме того, проверили все на моем [Java Build Path] (http://i.imgur.com/1zVscCT.png). Еще не повезло. Я полностью сбит с толку. – Matt

+0

Ах! Я, наконец, поймаю исключение «android.os.NetworkOnMainThreadException» после добавления catch (Exception e) в мой код. Я еще не понял, почему у меня есть исключение, но это намного лучше! – Matt

Смежные вопросы