Android 之 WebView 组件
来源:互联网 发布:js 删除一个tr 编辑:程序博客网 时间:2024/05/17 04:50
WebView是一个使用 WebKit 引擎的浏览器组件,
可以将WebView 当成一个完整的浏览器使用,它不仅支持HTML、CSS等静态元素,还支持JavaScript,可以在JS中调用Java 的方法
WebView 组件不仅可以浏览网页,还可以浏览保存在本地的网页文件或WebView 支持的文件,
还可以缓存浏览历史页面,向后或向前浏览页面:
webView.goBack(); // 向后浏览历史页面
webView.goForward(); // 向前浏览历史页面
webView.clearCache(); // 要清除缓存内容
下面一个示例程序: 将英文词典整合到 Web 页中(JavaScript 调用 Java方法)
主要代码:
public class Main extends Activity { // 定义ContentProvider 提供者 public final String DICTIONARY_SINGLE_WORD_URI = "content://net.blogjava.mobile.dictionarycontentprovider/single"; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); WebView webView = (WebView) findViewById(R.id.webview); WebSettings webSettings = webView.getSettings(); webSettings.setJavaScriptEnabled(true); webView.setWebChromeClient(new WebChromeClient()); webView.addJavascriptInterface(new Object() { //<span style="font-size:32px;color:#ff0000;"> 用于查询英文单词的方法,也是JavaScript调用的方法</span> @SuppressWarnings("unused") public String searchWord(String word) { //直接通过 ContentProvider 来查询英文单词 Uri uri = Uri.parse(DICTIONARY_SINGLE_WORD_URI); Cursor cursor = getContentResolver().query(uri, null, "english=?", new String[]{ word }, null); String result = "未找到该单词."; if (cursor.getCount() > 0) { cursor.moveToFirst(); result = cursor.getString(cursor.getColumnIndex("chinese")); } return result; } //dictionary 是 Java 对象映射到JavaScript中的对象名 }, "dictionary"); // 开始读取res/raw 目录中的dictionary.html文件的内容 InputStream is = getResources().openRawResource(R.raw.dictionary); byte[] buffer = new byte[1024]; try { int count = is.read(buffer); String html = new String(buffer,0 ,count, "utf-8"); // 装载 dictionary.html 文件中的内容 webView.loadDataWithBaseURL(null, html, "text/html", "utf-8", null); } catch (Exception e){} }}
dictionary.html 文件代码:
<html> <script language="javascript"> function search() { result.innerHTML = "<font color='red'>" + window.dictionary.searchWord(word.value) + "</font>"; }</script><body> 英文词典<p/> <input type="text" id="word"/> <input type="button" value="查单词" onclick="search()" /> <p/> <div id="result"></div> </body></html>
具体代码请参见
ch09_webdictionary, ch06_dictionary_contentprovider
(数据提供者)工程,界面效果
- Android 之 WebView 组件
- android之【 WebView组件 】
- Android--WebView组件
- Android开发之WebView组件的使用详解
- Android开发之WebView组件的使用详解
- Android开发之WebView组件的使用详解
- Android开发之WebView组件的使用解析
- Android中的WebView组件安全
- Android中的WebView组件安全
- android webview组件的使用
- WebView---android webview组件如何使用 Webview与js交互
- WebView---android webview组件如何使用 Webview与js交互
- Android之Hello WebView
- android之webview使用
- android之webview
- android 之webview
- android之webview使用
- android之webview
- action english20
- Windows LPC
- Vertex Processor - glGenBuffers 和 glGenBuffersARB 区别
- 简单的AS3 MP3音频频谱
- js 页面刷新
- Android 之 WebView 组件
- TL431并联基准芯片使用
- action name的查找
- Spring 之 模拟Spring中的IOC
- 《Windows核心编程》读书心得——DLL(6)
- 对android中的Overlay draw的理解
- 此刻,Blog开始!
- ajaxpro调用C#代码需要注意的事项(1)
- 无语了说!