`

Android——WebView组件的使用详解

 
阅读更多

通过本专题的讲解可以了解到WebView组件的详细使用:

网络内容
1、LoadUrl直接显示网页内容(单独显示网络图片)
2、LoadData显示中文网页内容(含空格的处理)
APK包内文件
1、LoadUrl显示APK中Html和图片文件
2、LoadData(loadDataWithBaseURL)显示APK中图片和文字混合的Html内容

res/layout/main.xml
Xml代码 复制代码 收藏代码
  1. <?xmlversion="1.0"encoding="utf-8"?>
  2. <LINEARLAYOUTandroid:layout_height="fill_parent"android:layout_width="fill_parent"android:orientation="vertical"xmlns:android="http://schemas.android.com/apk/res/android">
  3. <WEBVIEWandroid:layout_height="fill_parent"android:layout_width="fill_parent"android:id="@+id/webview"/>
  4. </LINEARLAYOUT>
<?xml version="1.0" encoding="utf-8"?>   
<LINEARLAYOUT android:layout_height="fill_parent" android:layout_width="fill_parent" android:orientation="vertical" xmlns:android="http://schemas.android.com/apk/res/android">   
<WEBVIEW android:layout_height="fill_parent" android:layout_width="fill_parent" android:id="@+id/webview" />   
</LINEARLAYOUT>   

 

Example_webview.java

 

Java代码 复制代码 收藏代码
  1. package cn.coolworks;
  2. import java.net.URLEncoder;
  3. import android.app.Activity;
  4. import android.os.Bundle;
  5. import android.webkit.WebView;
  6. publicclass Example_webview extends Activity {
  7. WebView webView;
  8. final String mimeType = "text/html";
  9. final String encoding = "utf-8";
  10. /** Called when the activity is first created. */
  11. @Override
  12. publicvoid onCreate(Bundle savedInstanceState) {
  13. super.onCreate(savedInstanceState);
  14. setContentView(R.layout.main);
  15. webView = (WebView) findViewById(R.id.webview);
  16. webView.getSettings().setJavaScriptEnabled(true);
  17. //
  18. //webHtml();
  19. //
  20. //webImage();
  21. //
  22. //localHtmlZh();
  23. //
  24. //localHtmlBlankSpace();
  25. //
  26. //localHtml();
  27. //
  28. // localImage();
  29. //
  30. localHtmlImage();
  31. }
  32. /**
  33. * 直接网页显示
  34. */
  35. privatevoid webHtml() {
  36. try {
  37. webView.loadUrl("http://www.google.com");
  38. } catch (Exception ex) {
  39. ex.printStackTrace();
  40. }
  41. }
  42. /**
  43. * 直接网络图片显示
  44. */
  45. privatevoid webImage() {
  46. try {
  47. webView
  48. .loadUrl("http://www.gstatic.com/codesite/ph/images/code_small.png");
  49. } catch (Exception ex) {
  50. ex.printStackTrace();
  51. }
  52. }
  53. /**
  54. * 中文显示
  55. */
  56. privatevoid localHtmlZh() {
  57. try {
  58. String data = "<!--l encoding="utf-8" version="1.-->测试含有 中文的Html数据";
  59. // utf-8编码处理(在SDK1.5模拟器和真实设备上都将出现乱码,SDK1.6上能正常显示)
  60. //webView.loadData(data, mimeType, encoding);
  61. // 对数据进行编码处理(SDK1.5版本)
  62. webView.loadData(URLEncoder.encode(data, encoding), mimeType,
  63. encoding);
  64. } catch (Exception ex) {
  65. ex.printStackTrace();
  66. }
  67. }
  68. /**
  69. * 中文显示(空格的处理)
  70. */
  71. privatevoid localHtmlBlankSpace() {
  72. try {
  73. String data = " 测试含有空格的Html数据 ";
  74. // 不对空格做处理
  75. webView.loadData(URLEncoder.encode(data, encoding), mimeType,
  76. encoding);
  77. //webView.loadData(data, mimeType, encoding);
  78. // 对空格做处理(在SDK1.5版本中)
  79. webView.loadData(URLEncoder.encode(data, encoding).replaceAll(
  80. "\\+", " "), mimeType, encoding);
  81. } catch (Exception ex) {
  82. ex.printStackTrace();
  83. }
  84. }
  85. /**
  86. * 显示本地图片文件
  87. */
  88. privatevoid localImage() {
  89. try {
  90. // 本地文件处理(如果文件名中有空格需要用+来替代)
  91. webView.loadUrl("file:///android_asset/icon.png");
  92. } catch (Exception ex) {
  93. ex.printStackTrace();
  94. }
  95. }
  96. /**
  97. * 显示本地网页文件
  98. */
  99. privatevoid localHtml() {
  100. try {
  101. // 本地文件处理(如果文件名中有空格需要用+来替代)
  102. webView.loadUrl("file:///android_asset/test.html");
  103. } catch (Exception ex) {
  104. ex.printStackTrace();
  105. }
  106. }
  107. /**
  108. * 显示本地图片和文字混合的Html内容
  109. */
  110. privatevoid localHtmlImage() {
  111. try {
  112. String data = "测试本地图片和文字混合显示,这是<IMG src='\"file:///android_asset/icon.png\"/'>APK里的图片";
  113. // SDK1.5本地文件处理(不能显示图片)
  114. // webView.loadData(URLEncoder.encode(data, encoding), mimeType,
  115. // encoding);
  116. // SDK1.6及以后版本
  117. // webView.loadData(data, mimeType, encoding);
  118. // 本地文件处理(能显示图片)
  119. webView.loadDataWithBaseURL("about:blank", data, mimeType,
  120. encoding, "");
  121. } catch (Exception ex) {
  122. ex.printStackTrace();
  123. }
  124. }
  125. }
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics