Android:WebView显示网页

WebView
通过Intent调用系统浏览器
Uri uri = Uri.parse(url);//url链接地址
Intent intent = new Intent(Intent.ACTION_VIEW,uri);
startActivity(intent);

如何使用WebView:

1.将WebView加入到你的应用
      布局中加入<WebView>元素
2.使用WebView加载页面
      要在WebView加载页面,使用loadUrl()函数
         i:web资源:webView.loadUrl("http://www.baidu.com");
         ii:本地文件使用: webView.loadUrl("file:///android_asset/xxxx.html");本地文件存放在:assets文件中
--使页面获得焦点: webView.requestFocus(); /防止失去响应
3.获取网络访问权限:
自己写浏览器就要获取INTERNET权限:
<uses-permission android:name="android.permission.INTERNET">

4、处理页面导航
当用户点击一个WebView中的页面的链接时,通常,是由默认的浏览器打开并加载目标URL的。你可以在WebView
中覆盖这一行为,那么链接就会在WebView中打开。
webView.setWebViewClient(new WebViewClient());


5、在WebView中使用Javascript
通过WeibView中带有的WebSettings来启动Javascript:getSettings()来获取WebSettings的值,然后通过setJavaScriptEnabled()来启用Javascript
        WebSettings webSettings = webView.getSettings();
        webSettings.setJavaScriptEnabled(true);


6、当WebView覆盖了Url的加载,会自动保存历史记录,返回上一页面
    public boolean onKeyDown(int keyCode, KeyEvent event) {
    // TODO 自动生成的方法存根
    Toast.makeText(this, "当前的页面是"+url, Toast.LENGTH_SHORT).show();
    if(keyCode==KeyEvent.KEYCODE_BACK){
    if(webView.canGoBack()){
    webView.goBack();//返回上一页面
    return true;
    }else{
        System.exit(0);//退出程序
    }
    }
   
    return super.onKeyDown(keyCode, event);
    }
7、制作进度条
        //设置WebView的加载进度条的对话框
        webView.setWebChromeClient(new WebChromeClient(){
        @Override
        public void onProgressChanged(WebView view, int newProgress) {
        // newProgress是1-100之间的整数
        if(newProgress==100){
        //网页加载完成
        closeDialog();
        }else{
        //网页正在加载
        openDialog(newProgress);
        }
        super.onProgressChanged(view, newProgress);
        }


private void openDialog(int newProgress) {
// TODO 自动生成的方法存根
if(dialog==null){
dialog = new ProgressDialog(WebView1Activity.this);
dialog.setTitle("正在加载中");
dialog.setProgressStyle(ProgressDialog.STYLE_HORIZONTAL);
dialog.setProgress(newProgress);
dialog.show();
}else{
dialog.setProgress(newProgress);
}
}


private void closeDialog() {
// TODO 自动生成的方法存根
if(dialog!=null&&dialog.isShowing()){
dialog.dismiss();
dialog=null;
}
}
        });
8、WebView缓存的运用
优先使用缓存:
webView.getSettings().setCacheMode(WebSettings.LOAD_CACHE_ELSE_NETWORK);
不使用缓存:
webView.getSettings().setCacheMode(WebSettings.LOAD_NO_CACHE);
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值