欢迎各个领域的程序员 不管是学生还是上班了的 还是小白加入讨论交流
群,大家一起讨论交流学习951701316,有内推工作的也会优先群里的朋
友,群号951701316
今天记录下webView的简单使用 和安卓和js的交互,只是简单的使用,写的不好请谅解欢迎大家加入群一起交流学习,相互帮忙相互
提高。
有时候安卓去加载一个web的界面是常有的事情 那么是怎么使用的,我这里使用的原生的webView,先是一个布局加载webView的
<WebView
android:id="@+id/webView"
android:layout_width="match_parent"
android:layout_height="match_parent"
/>
然后就是代码去操作webView 还有一些webView的属性
// 加载webview 先实例化
public WebView webview;
//配置WebView 绑定id
webview=(WebView)findViewById(R.id.webView);
// 加载html getUrl是拼接地址的方法
webview.loadUrl("www.baidu.com");
//setWebChromeClient辅助WebView处理JavaScript的对话框,网站图标,网站title,加载进度等
webview.setWebChromeClient(new WebChromeClient());
/*
*当不设置这个方法的时候,用webview加载网页会弹出一个对话框,提醒你选择系统装的浏览器,比如百度, *uc,chrome啥的,设置这个方法意思就是让我们的webview来加载这个网页,不需要打开外部浏览器了
*/
webview.setWebViewClient(new WebViewClient());
//设置webView
WebSettings settings=webview.getSettings();
////可以有数据库
settings.setDatabaseEnabled(true);
//设置可否运行执行javaScrciptEnabled脚本
settings.setJavaScriptEnabled(true);
////关闭加载网络图片,在一开始加载的时候可以设置为true,当加载完网页的时候再设置为false
settings.setBlockNetworkImage(false);
settings.setDomStorageEnabled(true);//设置允许加载本地js
//设置脚本是否允许自动打开弹窗,默认false,不允许
settings.setJavaScriptCanOpenWindowsAutomatically(true);
settings.setSupportZoom(true); // 设置可以支持缩放
//设置WebView中加载页面字体变焦百分比,默认100,整型数。
settings.setTextZoom(100);
settings.setBuiltInZoomControls(true); // 设置出现缩放工具
settings.setUseWideViewPort(true);// 为图片添加放大缩小功能
settings.setDisplayZoomControls(false); //隐藏webview缩放按钮
settings.setAppCacheEnabled(false); //是否开启缓存功能
/*
*重写缓存被使用到的方法,该方法基于Navigation Type,加载普通的页面,将会检查缓存同时重新验证是
*
*否需要加载,如果不需要重新加载,将直接从缓存读取数据,允许客户端通过指定LOAD_DEFAULT、
*
*LOAD_CACHE_ELSE_NETWORK、LOAD_NO_CACHE、LOAD_CACHE_ONLY其中之一重写该行为方法,默认值
*
*LOAD_DEFAULT
*/
settings.setCacheMode(WebSettings.LOAD_NO_CACHE);
//设置加载进来的页面自适应手机屏幕
settings.setUseWideViewPort(true);
//设置WebView是否使用预览模式加载界面。
settings.setLoadWithOverviewMode(true);
//在Android的 addJavaScriptInterface中,需要理解这个类主要能帮助调用你的JavaScript函 //数中的任意活动方式
webview.addJavascriptInterface(new CrossFireBridge(),"crossFire");
//通过字段来交互 js通过这个字段来调用安卓代码jiaohu(自定义的)
webview.addJavascriptInterface(new YourClass(),"jiaohu");
/**
* 安卓和js的交互
*/
final class YourClass {
@JavascriptInterface
public void share() {
finish();
}
}
以上就是安卓和js的简单交互 和webView webSetting的一些属性,仅仅个人理解
js通过你定义的字段就可以执行安卓的方法了
@JavascriptInterface记得打上这个标注
然后记得配置网络权限
当然webView不止这些还行腾讯X5的webView等
仅供参考