【技巧沙龙】AI开辟者拭魅战营-7分钟打造1个定制技能。7月22号,我们等你一路!
正文
WebView 用来显示网页的一个View,它应用WebKit衬着引擎显示web页面,可以加载在线的或者本地的html页面,WebView可以对页面进行一系列操作,如汗青页面的向前、向后,放大年夜和缩小,履行文本搜刮,与JS交互等等;
在应用Webview时,请记得在AndroidManifest.xml文件中声明INTERNET权限:
- <uses-permission android:name="android.permission.INTERNET" />
默认情况下,WebView不支撑JavaScript,web页面的缺点也会被忽视,如不雅只是用Webview来显示网页而不消交互,默认设备就可以了,如不雅须要交互,就须要自定义设备了。
WebView初始化及加载URL
- <WebView
- android:id="@+id/webview"
- android:layout_width="fill_parent"
- android:layout_height="fill_parent"/>
或者直接New:
- WebView webview = new WebView(this);
2、加载URL:
1、Webview打开一个链接,播放一段音乐,退出Activity时音乐还在后台播放,可以经由过程在Activity的onPause中调用webview.onPause()解决,并在Activity的onResume中调用webview.onResume()恢复,如下:
或者可以直接加载Html:
- String summary = "<html><body>You scored <b>192</b> points.</body></html>";
- myWebView.loadData(summary, "text/html", null);
如不雅在加载URL的时刻想添加Header信息,可以复写loadUrl()办法,如:
- @Override public void loadUrl(String url) {
- Map<String, String> map = new HashMap<String, String>();
- map.put("ajax", "true");
- map.put("appversion", SharedPreferencesUtil.getAppVersion(getContext())); map.put("clientid", SharedPreferencesUtil.getClientId(getContext()));
- loadUrl(url, map);
- }
WebSettings
WebSettings 中可以对WebView进行一系列设备,如:
- WebSettings settings = getSettings(); //默认是false 设置true许可和js交互
- settings.setJavaScriptEnabled(true); // WebSettings.LOAD_DEFAULT 如不雅本地缓存可用且没有过时则应用本地缓存,否加载收集数据 默认值
- // WebSettings.LOAD_CACHE_ELSE_NETWORK 优先加载本地缓存数据,无论缓存是否过时
- // WebSettings.LOAD_NO_CACHE 只加载收集数据,不加载本地缓存
- // WebSettings.LOAD_CACHE_ONLY 只加载缓存数据,不加载收集数据
- //Tips:有收集可以应用LOAD_DEFAULT 没有网时用LOAD_CACHE_ELSE_NETWORK
- settings.setCacheMode(WebSettings.LOAD_CACHE_ELSE_NETWORK); //开启 DOM storage API 功能 较大年夜存储空间,应用简单
- settings.setDomStorageEnabled(true); //设置数据库缓存路径 存储治理复杂数据 便利对数据进行增长、删除、修改、萌芽 不推荐应用
推荐阅读
【技巧沙龙】AI开辟者拭魅战营-7分钟打造1个定制技能。7月22号,我们等你一路! 国度卫计委长途医疗治理与培训中间办公室主任卢清君(中国台湾网 尹赛楠 摄)2017年(第九届>>>详细阅读
本文标题:Android Webview使用和遇到过的坑总结
地址:http://www.17bianji.com/lsqh/36219.html
1/2 1

网友点评
精彩导读
科技快报
品牌展示