Android——WebView组件的使用详解

14 篇文章 0 订阅
通过本专题的讲解可以了解到WebView组件的详细使用:
网络内容
1、LoadUrl直接显示网页内容(单独显示网络图片)
2、LoadData显示中文网页内容(含空格的处理)
APK包内文件
1、LoadUrl显示APK中Html和图片文件
2、LoadData(loadDataWithBaseURL)显示APK中图片和文字混合的Html内容

res/layout/main.xml


Xml代码  
<?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代码  
package cn.coolworks;  
  
import java.net.URLEncoder;  
  
import android.app.Activity;  
import android.os.Bundle;  
import android.webkit.WebView;  
  
public class Example_webview extends Activity {  
    WebView webView;  
    final String mimeType = "text/html";  
    final String encoding = "utf-8";  
  
    /** Called when the activity is first created. */  
    @Override  
    public void onCreate(Bundle savedInstanceState) {  
        super.onCreate(savedInstanceState);  
        setContentView(R.layout.main);  
        webView = (WebView) findViewById(R.id.webview);  
        webView.getSettings().setJavaScriptEnabled(true);  
        //  
        //webHtml();  
        //  
         //webImage();  
        //  
        //localHtmlZh();  
        //  
        //localHtmlBlankSpace();  
        //  
        //localHtml();  
        //  
        // localImage();  
        //  
         localHtmlImage();  
    }  
  
    /** 
     * 直接网页显示 
     */  
    private void webHtml() {  
        try {  
            webView.loadUrl("http://www.google.com");  
        } catch (Exception ex) {  
            ex.printStackTrace();  
        }  
    }  
  
    /** 
     * 直接网络图片显示 
     */  
    private void webImage() {  
        try {  
            webView  
                    .loadUrl("http://www.gstatic.com/codesite/ph/images/code_small.png");  
        } catch (Exception ex) {  
            ex.printStackTrace();  
        }  
    }  
  
    /** 
     * 中文显示 
     */  
    private void localHtmlZh() {  
        try {  
            String data = "<!--l encoding="utf-8" version="1.-->测试含有  中文的Html数据";  
            // utf-8编码处理(在SDK1.5模拟器和真实设备上都将出现乱码,SDK1.6上能正常显示)  
            //webView.loadData(data, mimeType, encoding);  
            // 对数据进行编码处理(SDK1.5版本)  
             webView.loadData(URLEncoder.encode(data, encoding), mimeType,  
             encoding);  
        } catch (Exception ex) {  
            ex.printStackTrace();  
        }  
    }  
  
    /** 
     * 中文显示(空格的处理) 
     */  
    private void localHtmlBlankSpace() {  
        try {  
            String data = "      测试含有空格的Html数据    ";  
            // 不对空格做处理  
             webView.loadData(URLEncoder.encode(data, encoding), mimeType,  
             encoding);  
            //webView.loadData(data, mimeType, encoding);  
            // 对空格做处理(在SDK1.5版本中)  
             webView.loadData(URLEncoder.encode(data, encoding).replaceAll(  
             "\\+", " "), mimeType, encoding);  
        } catch (Exception ex) {  
            ex.printStackTrace();  
        }  
    }  
  
    /** 
     * 显示本地图片文件 
     */  
    private void localImage() {  
        try {  
            // 本地文件处理(如果文件名中有空格需要用+来替代)  
            webView.loadUrl("file:///android_asset/icon.png");  
        } catch (Exception ex) {  
            ex.printStackTrace();  
        }  
    }  
  
    /** 
     * 显示本地网页文件 
     */  
    private void localHtml() {  
        try {  
            // 本地文件处理(如果文件名中有空格需要用+来替代)  
            webView.loadUrl("file:///android_asset/test.html");  
        } catch (Exception ex) {  
            ex.printStackTrace();  
        }  
    }  
  
    /** 
     * 显示本地图片和文字混合的Html内容 
     */  
    private void localHtmlImage() {  
        try {  
            String data = "测试本地图片和文字混合显示,这是<IMG src='\"file:///android_asset/icon.png\"/'>APK里的图片";  
            // SDK1.5本地文件处理(不能显示图片)  
            // webView.loadData(URLEncoder.encode(data, encoding), mimeType,  
            // encoding);  
            // SDK1.6及以后版本  
            // webView.loadData(data, mimeType, encoding);  
            // 本地文件处理(能显示图片)  
            webView.loadDataWithBaseURL("about:blank", data, mimeType,  
                    encoding, "");  
        } catch (Exception ex) {  
            ex.printStackTrace();  
        }  
    }  
}  
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值