webview相当于android中的浏览器,基于webkit开发,可以浏览网页文件,支持css javascript 以及html
一、 使用webview首先要有以下配置:
1. AndroidManifest.xml中必须注册"android.permission.INTERNET"进行权限许可(如果只是使用本地HTML,可以不用注册许可权限),否则会出Web page not available错误。
2.如果在web中使用js需要许可javascript执行:
java代码:
//从xml中获取webview
WebView webv =(WebView)findViewById(R.id.webv);
//允许JS执行
webv.getSettings().setJavaScriptEnabled(true);
二、如果在用webview做应用的时候我们不希望新建webview进程,让程序跳来跳去那么进行如下设置
java代码:
webv.setWebViewClient(new WebViewClient(){
public boolean shouldOverrideUrlLoading(WebView view, String url) {
view.loadUrl(url);
//点击超链接的时候重新在原来进程上加载URL
return true;
}
});
三、 webview加载本机的html文件如下:
java代码:
file:///android_asset/teste.html //加载项目assets下的文件teste.html
file:///sdcard/index.html //加载sdcard下的index.html文件
package com.demo.wsapi;
import org.json.JSONException;
import org.json.JSONObject;
import android.content.Context;
import com.demo.model.Const;
public class Online
{
public Online(Context context)
{
// TODO Auto-generated constructor stub
super();
}
public String online ()
{
JSONObject result = new JSONObject();
try
{
result.put("Code", Const.SUCCESS_CODE);
result.put("Description", "Success");
result.put("ReturnData", Const.isOnline);
result.put("Errormessage", "");
}
catch (JSONException e)
{
// TODO Auto-generated catch block
e.printStackTrace();
}
return result.toString();
}
}
html代码:
java代码:
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title></title>
<meta http-equiv="cache-control" content="no-cache" />
<link href="../css/css.css" rel="stylesheet" type="text/css" />
<script src="../../../scripts/jquery.js" type="text/javascript"></script>
<script type="text/javascript" src="../script/client.js"></script>
<script>
function execute() {
var result = wsapi.online.isActive();
document.getElementById('textarea1').value =json2str(result);
}
</script>
</head>
<body><h2>
wsapi.online.isActive</h2>
<table>
<tr>
<td width="150">
<input type="button" id="submit" value="执行" onclick="execute()" />
</td>
</tr>
</table>
</body>
client.js
(使用js原型):
wsapi.online = wsapi.prototype = {
proxy : null,
completed : false,
isActive : function() {
with (wsapi.online) {
var result = java_online.online();
return getResult(result, 'wsapi.online.online');
}
}
};