一、使用WebView组件浏览网页
在XML布局文件中添加一个WebView组件可以使用下面的代码:
<WebView
android:id="@+id/webView1"
android:layout_width="match_parent"
android:layout_height="match_parent"/>
WebView组件提供的常用方法:
| 方法 | 描述 |
| loadUrl(String url) | 用于加载指定URL对应的网页 |
| loadData(String data, String mimeType, String encoding) | 用于将指定的字符串数据加载到浏览器中 |
| loadDataWithBaseURL(String baseUrl, String data, String mimeType, String encoding, String historyUrl) | 用于基于URL加载指定的数据 |
| capturePicture() | 用于创建当前屏幕的快照 |
| goBack() | 执行后退操作,相当于流利器上的后退按钮的功能 |
| goForward() | 执行前进操作,相当于浏览器上的前进按钮的功能 |
| stopLoading() | 用于停止加载当前页面 |
| reload() | 用于刷新当前页面 |
在Eclipse中创建Android项目,实现应用WebView组件浏览指定网页。

布局文件:
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
tools:context="com.mingrisoft.MainActivity" >
<WebView
android:id="@+id/webView1"
android:layout_width="match_parent"
android:layout_height="match_parent" />
</RelativeLayout>
界面代码:
public class MainActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
WebView webview=(WebView)findViewById(R.id.webView1); //获取布局管理器中添加的WebView组件
webview.loadUrl("http://192.168.1.66:8080/bbs/"); //指定要加载的网页
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.main, menu);
return true;
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
// Handle action bar item clicks here. The action bar will
// automatically handle clicks on the Home/Up button, so long
// as you specify a parent activity in AndroidManifest.xml.
int id = item.getItemId();
if (id == R.id.action_settings) {
return true;
}
return super.onOptionsItemSelected(item);
}
}
注意:
如果想让WebView组件具有放大和缩小网页的功能,需要进行以下设置。
webview.getSettings().setSupportZoom(true);
webview.getSettings().setBuiltInZoomControls(true);
二、使用WebView加载HTML代码
loadData()方法和loadDataWithBaseURL()方法
loadDataWithBaseURL()方法的基本语法格式如下:
loadDataWithBaseURL(StringbaseUrl,String data, String mimeType,String encoding, String historyUrl)
loadDataWithBaseURL()方法的参数说明:
| 参数 | 描述 |
| baseUrl | 用于指定当前页使用的基本URL。如果为null,则使用默认的about:blank,也就是空白页 |
| data | 用于指定要显示的字符串数据 |
| mimeType | 用于指定要显示内容的MIME类型。如果null,默认使用text/html |
| encoding | 用于指定数据的编码方式 |
| historyUrl | 用于指定当前页的历史URL,也就是进入该页前显示页的URL。如果为null,则使用默认的about:blank |
在Eclipse中创建Android项目,应用WebView组件加载使用HTML代码实现个人理财通的帮助功能。

布局文件:
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
tools:context="com.mingrisoft.MainActivity" >
<WebView
android:id="@+id/webView1"
android:layout_width="match_parent"
android:layout_height="match_parent" />
</RelativeLayout>
界面实现:
public class MainActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
WebView webview=(WebView)findViewById(R.id.webView1);//获取布局管理器中添加的WebView组件
//创建一个字符串构建器,将要显示的HTML内容放置在该构建器中
StringBuilder sb=new StringBuilder();
sb.append("<div>《个人理财通》使用帮助:</div>");
sb.append("<ul>");
sb.append("<li>修改密码:选择“系统设置”模块可以修改登录密码,项目运行时,默认没有密码。</li>");
sb.append("<li>支出管理:选择“新增支出”模块可以添加支出信息;选择“我的支出”模块可以查看、修改或删除支出信息。</li>");
sb.append("<li>收入管理:选择“新增收入”模块可以添加收入信息;选择“我的收入”模块可以查看、修改或删除收入信息。</li>");
sb.append("<li>便签管理:选择“收支便签”模块可以添加便签信息;选择“数据管理”模块中的“便签信息”按钮可以查看、修改或删除便签信息。</li>");
sb.append("<li>退出系统:选择“退出”模块可以退出《个人理财通》项目。</li>");
sb.append("</ul>");
webview.loadDataWithBaseURL(null, sb.toString(),"text/html","utf-8",null);//加载数据
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.main, menu);
return true;
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
// Handle action bar item clicks here. The action bar will
// automatically handle clicks on the Home/Up button, so long
// as you specify a parent activity in AndroidManifest.xml.
int id = item.getItemId();
if (id == R.id.action_settings) {
return true;
}
return super.onOptionsItemSelected(item);
}
}

