как показать содержимое html в веб-просмотре с помощью Android

Ниже приведен мой html-контент, который я хочу показать в веб-просмотре с помощью Android SDK. Он будет отображать только

//Пожалуйста

Но когда я помещаю этот HTML-контент в браузер, он отображается по-другому.

<br /><br />Read the handouts please for tomorrow.<br /><br /><!--homework help homework


help help with homework homework assignments elementary school high school middle school



// --><font color="#60c000" size="4"><strong>Please!</strong></font>

Подскажите как решить эту проблему

У меня другая проблема, что в HTML-контенте есть тег

<img src="http://www.homeworknow.com/hwnow/upload/images/tn_star300.gif" border="0" />

на этом изображении не показывает.


person Amit Thaper    schedule 02.09.2010    source источник
comment
Как вы загружаете эти html-данные в веб-просмотр?   -  person bhups    schedule 02.09.2010
comment
здесь описание содержит мой html-код web.getSettings().setJavaScriptEnabled(true); web.loadData(описание, текст/html, utf-8);   -  person Amit Thaper    schedule 02.09.2010


Ответы (3)


  1. Используйте web.loadDataWithBaseURL вместо web.loadData (и не забудьте экранировать строки там, где это необходимо)
  2. Вам необходимо добавить разрешение в Интернете для загрузки изображений и просмотра их в файле манифеста.

Этот пример работает для меня:

public class SimpleMusicStream extends Activity {
    @Override
    public void onCreate(Bundle icicle) {
        super.onCreate(icicle);
        setContentView(R.layout.main);

        WebView wv = (WebView) findViewById(R.id.WebView01);        

        final String mimeType = "text/html";
        final String encoding = "UTF-8";
        String html = "<br /><br />Read the handouts please for tomorrow.<br /><br /><!--homework help homework" +
                "help help with homework homework assignments elementary school high school middle school" +
                "// --><font color='#60c000' size='4'><strong>Please!</strong></font>" +
                "<img src='http://www.homeworknow.com/hwnow/upload/images/tn_star300.gif'  />";


        wv.loadDataWithBaseURL("", html, mimeType, encoding, "");
    }

}

И не забудьте добавить:

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

в вашем файле AndroidManifest.xml

person droidgren    schedule 02.09.2010
comment
И не забывайте экранировать строки там, где это необходимо — есть ли для этого класс utils? - person Helpa; 27.10.2011
comment
Спасибо! loadDataWithBaseURL мне очень помог - person gorodechnyj; 23.11.2012
comment
wv.loadData(htmlString, mimeType, encoding); было бы лучше, если бы у вас не было URL-адресов базы и истории. loadData(htmlString, mimeType, encoding); просто анализирует только html-контент. - person Akash Raghav; 18.05.2016
comment
веб-представление говорит об отказе от загрузки Отказ от загрузки недопустимого URL-адреса - person Mr.G; 03.10.2017

Либо вы можете сделать это, как указано выше, либо поместить html-файл в папку ресурсов и использовать его для его отображения.

view.loadUrl("file:///android_asset/FILENAME.html");
person Android    schedule 14.04.2011

для отображения изображения вы можете сделать это как

 String str= " img src=\"http://www.homeworknow.com/hwnow/upload/images/tn_star300.gif\" alt=\"this is img\"ALIGN=\"right\"/>";
    wv.loadData(str, "text/html", "utf-8");
person Android    schedule 14.04.2011