步驟
1、在AndroiManifest.xml裡加入
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
android:usesCleartextTraffic="true"
2、在界面中加入WebView元件
3、到.java檔案中寫相應事件代碼
截圖中的例子是:使用WebView加載 qq郵箱網頁
webView = findViewById(R.id.webView);
webView.loadUrl("https://www.qq.com/");
webView.setWebViewClient(new WebViewClient(){
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url) {
view.loadUrl(url);
return true;
}
});
4、手機适配
在 .java檔案中加入這一段代碼
WebSettings webSettings = webView.getSettings();
//如果通路的頁面中要與Javascript互動,則webview必須設定支援Javascript
webSettings.setJavaScriptEnabled(true);
//設定自适應螢幕,兩者合用
webSettings.setUseWideViewPort(true); //将圖檔調整到适合webview的大小
webSettings.setLoadWithOverviewMode(true); // 縮放至螢幕的大小
//自适應螢幕
webView.getSettings().setLayoutAlgorithm(WebSettings.LayoutAlgorithm.SINGLE_COLUMN);
webSettings.setLoadWithOverviewMode(true); // 縮放至螢幕的大小
//縮放操作
webSettings.setSupportZoom(true); //支援縮放,預設為true。是下面那個的前提。
webSettings.setBuiltInZoomControls(true); //設定内置的縮放控件。若為false,則該WebView不可縮放
webSettings.setDisplayZoomControls(false); //隐藏原生的縮放控件
//其他細節操作
webSettings.setCacheMode(WebSettings.LOAD_CACHE_ELSE_NETWORK); //關閉webview中緩存
webSettings.setAllowFileAccess(true); //設定可以通路檔案
webSettings.setJavaScriptCanOpenWindowsAutomatically(true); //支援通過JS打開新視窗
webSettings.setLoadsImagesAutomatically(true); //支援自動加載圖檔
webSettings.setDefaultTextEncodingName("utf-8");//設定編碼格式
//優先使用緩存
webSettings.setCacheMode(WebSettings.LOAD_CACHE_ELSE_NETWORK);
//緩存模式如下:
//LOAD_CACHE_ONLY: 不使用網絡,隻讀取本地緩存資料
//LOAD_DEFAULT: (預設)根據cache-control決定是否從網絡上取資料。
//LOAD_NO_CACHE: 不使用緩存,隻從網絡擷取資料.
//LOAD_CACHE_ELSE_NETWORK,隻要本地有,無論是否過期,或者no-cache,都使用緩存中的資料
//不使用緩存
webSettings.setCacheMode(WebSettings.LOAD_NO_CACHE);
使用WebView加載本地網頁
寫一個 .html的檔案
建立一個檔案夾Assets Folder
将本地檔案放入檔案夾中
将檔案連結寫入