2011-12-09 3 views
1

Я создаю приложение для Android для своего сообщества платформ. Поставщик платы дает мне RSS-каналы из общих категорий, но не создает каналы из тем. Поэтому я возвращаю URL-адреса тем из этих каналов и хочу проанализировать HTML с помощью Jsoup и передать его в WebView.Jsoup select() ничего не возвращает в приложении для Android

Это работает отлично, за исключением функции select(), которая ничего не возвращает.

«HTML RETREIVED» Журнал дает мне: <html><head><title>The topic title</title></head><body></body></html>

h1 теги в коде на тестовой цели: он показывает хорошо на WebView и название разобранного веб-страницы тоже.

Я также поместил строку журнала сразу после строки select(). Он тоже ничего не возвращает.

Я попытался в чистом Java-проекте разобрать только Jsoup, и все идет хорошо. Итак, я предположил, что что-то не так с Android.

PS: Разрешение Интернета активно в манифесте.

Я что-то пропустил?

Вот код:

String html; 
    Bundle param = this.getIntent().getExtras(); 
    String url = param.getString("url"); 
    try { 
      Document doc = Jsoup.connect(url).get(); 
      doc.select(".topic .clear").remove(); 
      String title = doc.title().toString(); 
      html = doc.select(".username strong, .entry-content").toString(); 
      html = "<html><head><title>"+title+"</title></head><body><h1>"+title+"</h1>"+html+"</body></html>"; 
      WebView webview = new WebView(this); 
      getWindow().requestFeature(Window.FEATURE_PROGRESS); 
      setContentView(webview); 
      webview.getSettings().setJavaScriptEnabled(true); 
      final Activity activity = this; 
      webview.setWebChromeClient(new WebChromeClient() { 
        public void onProgressChanged(WebView view, int progress) { 

        activity.setProgress(progress * 1000); 
        Log.d("LOADING",""+ progress); 
        } 
       }); 
      webview.loadData(html, "text/html", "UTF-8"); 
      //webview.loadUrl(url); 
      Log.i("HTML RETREIVED", ""+html); 
     } catch (IOException e) { 
      Log.e("ERROR", "Error while generate topic"); 
     } 

ответ

3

Ok я нашел что-то интересное.

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

В любом случае, я знаю, о чем сейчас думаю.

+1

Я просто собирался снять голову! hahahaha! такой же проблема со мной, спасибо человек !! – InsaurraldeAP