2013-08-14 4 views
0

Хорошо, извините за мое сообщение. Вот более точный вопрос с точным вопросом.Не удается получить исходный код html (обновлено)

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

Debuger (код компилироваться.): ActivityThread.performLaunchActivity (ActivityThread $ ActivityClientRecord, Intent) линия: 2180

говорит e> cause> "java.lang.NullPointerException" и "detailMessage null".

Так что я понимаю, что это исключение NullPointerException, но не могу видеть, где.

Amd единственное, что LogCat говорит,:

08-14 00:34:10.437: E/Trace(1784): error opening trace file: No such file or directory (2) 
08-14 00:34:10.437: I/System.out(1784): Sending WAIT chunk 
08-14 00:34:10.437: I/dalvikvm(1784): Debugger is active 
08-14 00:34:10.644: I/System.out(1784): Debugger has connected 
08-14 00:34:10.644: I/System.out(1784): waiting for debugger to settle... 
08-14 00:34:11.867: I/System.out(1784): debugger has settled (1300) 
08-14 00:34:13.428: D/dalvikvm(1784): threadid=1: still suspended after undo (sc=1 dc=1) 

Я не знаю, что больше информации, чтобы дать вам. :/

код я использую для этого (это класс Получить код)

public String html; 

public void getSourceCode() throws ClientProtocolException, IOException { 
    HttpClient client = new DefaultHttpClient(); 
    HttpGet request = new HttpGet("http://www.novasoftware.se/webviewer/(S(pisjjgujku50by55lpbdl1a2))/design1.aspx?schoolid=18200&code=83310"); 
    HttpResponse response = client.execute(request); 

    html = ""; 
    InputStream in = response.getEntity().getContent(); 
    BufferedReader reader = new BufferedReader(new InputStreamReader(in)); 
    StringBuilder str = new StringBuilder(); 
    String line = null; 
    while((line = reader.readLine()) != null) 
    { 
     str.append(line); 
    } 
    in.close(); 
    html = str.toString(); 
    System.out.println("html"); 

} 

Затем в главном классе я просто пытаюсь напечатать код.

protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_main); 
     doStuff(); 
} 



private void doStuff() { 
    try { 
     getcode.getSourceCode(); 
    } catch (ClientProtocolException e) { 
     e.printStackTrace(); 
    } catch (IOException e) { 
     e.printStackTrace(); 
    } 
    System.out.println(getcode.html); 

} 
+0

Вы можете поделиться более подробной трассировкой стека? Ваша сетевая операция находится в основном потоке, вам нужно выполнить сетевые операции в другом потоке, что-то вроде Android Async Task – Peshal

+0

Добро пожаловать в SO! Пожалуйста, прочитайте [Как задать хороший вопрос?] (Http://stackoverflow.com/help/how-to-ask) для получения некоторых советов о том, как улучшить ваши шансы на получение ответа, который вы ищете. В частности, вы должны задать * конкретный * вопрос. С чем вы столкнулись? Содержит ли ваш код? Если нет, покажите нам ошибку компилятора. Если он компилируется, что происходит при запуске приложения?Как поведение отличается от того, что вы ожидаете? В SO очень много людей, которые готовы помочь вам, пока вы готовы предоставить необходимую информацию для этого. –

+1

p.s. Непонятно, как отправленное вами сообщение logcat связано с вашим приложением. Пожалуйста, объясните далее, возможно, включив в него больше соответствующей информации из логарифма. –

ответ

0

Во-первых, вы по-прежнему не располагаете достаточной информацией для точного диагноза. Вы должны предоставить:

  • полное и точное описание того, что происходит
  • полный StackTrace за исключением, в том числе номера строк
  • все из кода, который «соединяет точки»; например когда и где вызывается getSourceCode.

Сказав это, я вижу две возможные причины НЭП в (частичной) код, который вы предоставили:

  • Если getSourceCode() не вызывается, то переменная html может быть null, когда вызывается метод onCreate.

  • Если объект ответа, возвращенное client.execute(request) является реакция на ошибку (т.е. состояние является 4xx или 5xx код ответа), а затем response.getEntity() вернется null. Я думаю, что это также может произойти, если в ответе нет контента.

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