请问如何用android解析html格式的字符串,并显示在一般控件中

请问如何用android解析html格式的字符串,并显示在一般控件中,第1张

private void loadHTML(){

String html = "<!DOCTYPE html>\n" +

"<html>\n" +

"<head>\n" +

"<title></title>\n" +

"</head>\n" +

"<body>\n" +

" Hello!耶耶耶<br/>\n" +

"HTML Page here!\n" +

"<img src=\"img/bdlogo.gif\"></im>\n" +

"</body>\n" +

"</html>"

webView.loadData(html, "text/html", "UTF-8")

//webView.loadDataWithBaseURL(null, html, "text/html", "UTF-8", null)

}

首先你需要导入:HttpClient、HttpGet

然后通过HttpGet通过url发送request

通过HttpClient的execute获取response

解析返回的内容

HttpClient client = new DefaultHttpClient()

HttpGet request = new HttpGet(url)

HttpResponse response = client.execute(request)

String 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()

android加载html

主要有2种方案:

方案一:

启动第三方浏览器或者安卓内置的浏览器进行加载先生html文件。

方案二:

使用android 自带的webview控件进行加载html文件或者网页。

不常用方案有1种:

使用android控件TextView进行加载html文件。

主要原理:

通过读取html文件里面的标签进行解析相关的元素从而通过浏览器,或者android自带的控件进行显示,其中webview控件本质上就是一个浏览器,TextView显示html内容就是通过解析标签,元素通过内置方法转化成相应带有属性的文本信息然后显示到界面上。

详细解决步奏:

方案一:

Uri uri = Uri.parse("http://www.XXXX.com") //要链接的地址或者html

Intent intent = new Intent(Intent.ACTION_VIEW, uri)

startActivity(intent)

缺点如果android中没有浏览器,则无法启动显示相关内容。

方案二:

webview = (WebView) findViewById(R.id.WebView01)

webview.getSettings().setJavaScriptEnabled(true)

webview.loadUrl("http://www.xxxx.com")//要链接的地址或者html

缺点:目前没有什么缺点,比其他2种好,天生为加载html文件而出生的

方案三:

不常用的方法,借助函数 Html.fromHtml()来解析html内容,并且进行显示。

TextView text1 = (TextView)findViewById(R.id.TextView02)

text1.setText(Html.fromHtml(“<font size='20'>网页内容html</font>”))

缺点:加载速度慢于webview加载速度。

最后

推荐使用webview进行加载html内容,其特性优于其他2种加载方式


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/zaji/6149268.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-03-16
下一篇2023-03-16

发表评论

登录后才能评论

评论列表(0条)

    保存