Android开发笔记之webview

扶醉桌前 提交于 2020-01-25 13:50:03

Android开发笔记(7.22)

1.最简单的webview使用

webview是一个用于网页内置于手机的一个控件。和其他控件一样,在xml中布置webview,声明,实体化,让后进行操作。
以前做跨平台开发,整合网页和手机端的做法底层就是使用webview进行开发,在webview上做js的操作以达到跨平台开发(混合开发)的目的。现在已经呗flutter给替代了。

	webView=findViewById(R.id.webview);					//用于找到控件
    webView.getSettings().setJavaScriptEnabled(true);	//让网页的js代码可以运行
    webView.loadUrl("https://m.baidu.com");				//需要的网页(m指的是mobil)

单纯这样操作会有其他问题,比如返回的时候直接返回到其他地方,每次打开询问是否打开本地浏览器等问题。

·不想要在外部打开网页,在webview中打开

1.加入自己的内部类并重写webviewcilent方法

    class MyWebViewClient extends WebViewClient{
        @Override
        public boolean shouldOverrideUrlLoading(WebView view, WebResourceRequest request) {
            view.loadUrl(request.getUrl().toString());
            return true;
        }
    }

2.在上面主活动中加入

webView.setWebViewClient(new MyWebViewClient());

扩展:在自己写的webviewcilent中还有两个方法。

		@Override	
        public void onPageStarted(WebView view, String url, Bitmap favicon) {    	//创建的时候调用的方法
            super.onPageStarted(view, url, favicon);
            Log.d("webview","onPageStarted()");
        }

        @Override
        public void onPageFinished(WebView view, String url) {						//webview关闭的时候调用的方法
            super.onPageFinished(view, url);
            Log.d("webview","onFinished()");
        }

注:

  1. loadUrl()方法中可以写html,css,js代码。
  2. webviewclient中很多方法可以运用html,js等互动和加载。

2.Toast

Toast是一个消息提示系统

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!