文章目录
  1. 1. 简单介绍
  2. 2. 实例

简单介绍

在Android中可以用WebView控件来显示网页内容,也可以用来自己设计自己的浏览器。

实例

以下是使用WebView简单显示个人博客网页的源码

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
package com.carlos.webview;

import android.annotation.SuppressLint;
import android.app.Activity;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.view.View.OnClickListener;
import android.webkit.WebSettings;
import android.webkit.WebView;
import android.webkit.WebViewClient;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Toast;

public class MainActivity extends Activity {

private EditText editText;
private Button enter;
private WebView webView;
private Button goBack;
private Button goFoward;

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);

editText = getViewById(R.id.editText);
enter = getViewById(R.id.enter);
webView = getViewById(R.id.webView1);
goBack = getViewById(R.id.goBack);
goFoward = getViewById(R.id.goFoward);
enter.setOnClickListener(listener);
goBack.setOnClickListener(listener);
goFoward.setOnClickListener(listener);
}

void loadWebView(final String url) {

new Thread() {
@SuppressLint("SetJavaScriptEnabled")
public void run() {
webView.loadUrl(url);
// 启用支持JavaScript
WebSettings settings = webView.getSettings();
settings.setJavaScriptEnabled(true);

// 覆盖WebView默认使用第三方或系统默认浏览器打开网页的行为,使网页用WebView打开
webView.setWebViewClient(new WebViewClient() {
@Override
public boolean shouldOverrideUrlLoading(WebView view,
String url) {
view.loadUrl(url);
return true;
}
});
}
}.start();

}

OnClickListener listener = new OnClickListener() {

@Override
public void onClick(View arg0) {
switch (arg0.getId()) {
case R.id.enter:
loadWebView(editText.getText().toString());
break;
case R.id.goBack:
webView.goBack();// 后退,返回上一个页面
break;
case R.id.goFoward:
webView.goForward();// 前进,返回后面一个页面
break;
default:
break;
}
}
};

@SuppressWarnings("unchecked")
<T extends View> T getViewById(int id) {
try {
return (T) findViewById(id);
} catch (ClassCastException e) {
Log.e("MainActivity", "Could not cast View to create class.", e);
throw e;
}
};
}

运行后在模拟器中显示的结果
加载和点击后退键显示的结果

点击一个页面后后退然后再点击前进页面显示的结果

文章目录
  1. 1. 简单介绍
  2. 2. 实例