1,引言 :通过Intent调用系统浏览器
Uri uri=Uri.parse(url);//url为你要连接的地址
Intent intent=new Intent(Intent.ACTION_VIEW,uri);
startActivity(intent);
2,课程内容
a, 将WebView加入到你的应用
布局添加
<WebView
android:id="@+id/WebView"
android:layout_width="match_parent"
android:layout_height="match_parent">
</WebView>
b, 使用WebView加载页面
WebView使用loadUrl()加载页面
加载web资源: webView.loadUrl("http://www.baidu.com");
加载本地资源:webView.loadUrl("file:///android_asset/xx.html"); 本地文件存放在:assets文件中 //使用页面获取焦点 webView.requestFocus();
c, 获取网络访问权限
应用能访问网络的权限:
<mainfest>
<uses-permission android:name="android.permission.INTERNET"/>
</mainfest>
d, 在WebView中使用Javascript 启用:Javascript WebView webView=(WebView)findViewById(R.id.webview); WebSettings webSettings =webView.getSettings(); webSettings.setJavaScriptEnabled(true); e, 处理页面导航 webView.setWebViewClient(new WebViewCient()); f, 后退与前进 当你的WebView覆盖了URL加载,它会自动生成历史访问记录,你可以 通过goBack()或goForward()向前或向后访问已访问过的站点; @override public boolean onKeyDown(int keyCode ,KeyEvent event){ if(keyCode==KeyEvent.KEYCODE_BACK){ if(webView.canGoBack()){ webView.goBack(); return true; }else{ System.exit(0); } } return super.onKeyDown(keyCode,event); }
g, 判断页面加载过程
webView.setWebChromeClient(new WebChromeClient(){
public void onProgressChanged(WebView view,int newProgress){
if(newProgress==100){
//加载完成
}else{ //加载中 } } });
h, WebView缓存的运用
优先使用缓存:
webView.getSettings().setCacheMode(WebSettings.LOAD_CACHE_ELSE_NETWORK);
不使用缓存:
webView.getSettings().setCacheMode(WebSettings.LOAD_NO_CACHE);
作者:小竹子爱广播
链接:https://www.jianshu.com/p/9d303e7b419b
共同学习,写下你的评论
评论加载中...
作者其他优质文章