webView的用法
来源:互联网 发布:苹果windows怎么截屏 编辑:程序博客网 时间:2024/06/04 20:09
package org.mobile.train.day10_qf_webview_introduce;import android.app.Activity;import android.os.Bundle;import android.view.KeyEvent;import android.webkit.JsResult;import android.webkit.WebChromeClient;import android.webkit.WebView;import android.webkit.WebViewClient;import android.widget.Toast;public class MainActivity extends Activity { private WebView webView; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); initViews(); } private void initViews() { webView = (WebView) findViewById(R.id.webView); //以下方法使WebView支持JS webView.getSettings().setJavaScriptEnabled(true); webView.setWebChromeClient(new WebChromeClient(){ /** * 对JS中弹出alert进行拦截 */ @Override public boolean onJsAlert(WebView view, String url, String message, JsResult result) { result.confirm(); Toast.makeText(MainActivity.this, message, Toast.LENGTH_SHORT).show(); return true; } }); //让我们自己的WebView充当打开新的网页的客户端 webView.setWebViewClient(new WebViewClient()); /** * WebView通过loadData的方式加载html标签, 但是不支持中文 * data 字符串内涵标签 * mimeType 数据文本类型 * encoding 编码格式 */ /**webView.loadData("<form>用户名<input type='text' name=''><br>" + "密码<input type='text' name=''><br>" + "<input type='submit' value='登陆'></form>", "text/html", "UTF-8");*/ /**webView.loadDataWithBaseURL(null, "<img src='http://www.baidu.com/img/bdlogo.gif'>" + "<img src='file:///android_asset/axing/img021.jpg'><br>" + "<form>用户名<input type='text' name=''><br>" + "密码<input type='text' name=''><br>" + "<input type='submit' value='登陆'></form>", "text/html", "UTF-8", null);*/ /** * 使用WebView.loadUrl的方式加载本地html文件或者具体的网址 */ //webView.loadUrl("file:///android_asset/login.html"); webView.loadUrl("http://www.baidu.com"); } /** * 某一个实体键被按下时, 会被触发 */ @Override public boolean onKeyDown(int keyCode, KeyEvent event) { if(keyCode == event.KEYCODE_BACK && webView.canGoBack()){ webView.goBack(); return true; } return super.onKeyDown(keyCode, event); }}
package com.example.day10_qf_webview_java_js;import android.annotation.SuppressLint;import android.app.Activity;import android.os.Bundle;import android.view.View;import android.webkit.JavascriptInterface;import android.webkit.WebView;import android.widget.Toast;public class MainActivity extends Activity { private WebView webView; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); initViews(); } @SuppressLint("JavascriptInterface") private void initViews() { webView = (WebView) findViewById(R.id.webView); webView.getSettings().setJavaScriptEnabled(true); webView.loadUrl("file:///android_asset/index.html"); webView.addJavascriptInterface(this, "javaNativeInterface"); } @JavascriptInterface public void callbackInJava(final String stringFromJS){ Toast.makeText(this, stringFromJS, Toast.LENGTH_SHORT).show(); } public void btnClicked(View view){ //Java中调用JS代码 webView.loadUrl("javascript:funcInJs('这是从JAVA传过来的值')"); }}
html中的代码:
<!DOCTYPE html><html><head><meta charset="UTF-8"><title>Insert title here</title></head><div id="oDiv" style="font-size:50px">我要Toast</div><div id="msg"></div><script type="text/javascript">function funcInJs(str){ var msg = document.getElementById("msg"); msg.innerHTML = str;}var oDiv = document.getElementById("oDiv");oDiv.onclick = function(){ javaNativeInterface.callbackInJava("我是从JS来的小白,请大家多多关照");}</script><body></body></html>
3 0
- iOS WebView的用法
- WebView的用法
- WebView的简单用法
- webView的用法整理
- Android---webview的用法
- WebView的高级用法
- WebView的用法
- WebView的用法
- WebView 的用法
- webview的用法
- WebView的一些用法
- iOS WebView的用法
- webView的用法
- webView的高级用法
- WebView的一些用法
- iOS WebView的用法
- WebView的用法
- WebView的常规用法
- SEO搜索引擎优化:为什么要做SEO,为企业能带来什么价值(好处)?
- Lua 表达式
- 软考嵌入式系统工程师知识点整理(软件工程)
- Visual Studio控制台程序输出窗口一闪而过的解决方法
- SourceTree 解决文件名忽略大小写的问题
- webView的用法
- hdu 3346 Lucky Number
- 新的博客
- Theano-Deep Learning Tutorials 笔记:LSTM Networks for Sentiment Analysis
- 【Java】java日历
- 【智能路由器】设备流量、网速统计及上下线提醒(基于netfilter编程)
- virtualbox 安装增强包 实现 centos 6.5 / 7 与宿主机文件共享
- 哪种数学知识你可以轻松向外行解释,并且听起来超级酷?
- 根据指定地点的经纬度算出指定的距离的经纬度范围