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()");
}
注:
- loadUrl()方法中可以寫html,css,js代碼。
- webviewclient中很多方法可以運用html,js等互動和加載。
2.Toast
Toast是一個消息提示系統