现在的位置: 首页 > 综合 > 正文

WebView中loadUrl 和 loadData

2018年04月27日 ⁄ 综合 ⁄ 共 5864字 ⁄ 字号 评论关闭

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

XML代码:

  1. <SPAN style="FONT-SIZE: 18px"><?xml version="1.0" encoding="utf-8"?>  
  2. <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"  
  3.     android:layout_width="fill_parent"  
  4.     android:layout_height="fill_parent"  
  5.     android:orientation="vertical" >  
  6.   
  7.     <WebView  
  8.         android:id="@+id/WebView"  
  9.         android:layout_width="fill_parent"  
  10.         android:layout_height="fill_parent" />  
  11.   
  12. </LinearLayout></SPAN>  

JAVA代码:

  1. <SPAN style="FONT-SIZE: 18px">package cn.coolworks;  
  2. import java.net.URLEncoder;  
  3. import android.app.Activity;  
  4. import android.os.Bundle;  
  5. import android.webkit.WebView;  
  6. public class 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. public void 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. private void webHtml() {  
  36. try {  
  37. WebView.loadUrl("http://www.google.com");  
  38. catch (Exception ex) {  
  39. ex.printStackTrace();  
  40. }  
  41. }  
  42. /** 
  43. * 直接网络图片显示 
  44. */  
  45. private void 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. private void localHtmlZh() {  
  57. try {  
  58. String data = "测试含有中文的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. private void 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. private void 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. private void 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. private void localHtmlImage() {  
  111. try {  
  112. String data = "测试本地图片和文字混合显示,这是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. }  
  126.   
  127. </SPAN>  

抱歉!评论已关闭.