天天看點

安卓筆記——使用WebView加載網頁步驟使用WebView加載本地網頁

步驟

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"
           
安卓筆記——使用WebView加載網頁步驟使用WebView加載本地網頁

2、在界面中加入WebView元件

安卓筆記——使用WebView加載網頁步驟使用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;
      }
});
           
安卓筆記——使用WebView加載網頁步驟使用WebView加載本地網頁

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加載網頁步驟使用WebView加載本地網頁

使用WebView加載本地網頁

寫一個 .html的檔案

建立一個檔案夾Assets Folder

安卓筆記——使用WebView加載網頁步驟使用WebView加載本地網頁

将本地檔案放入檔案夾中

将檔案連結寫入

安卓筆記——使用WebView加載網頁步驟使用WebView加載本地網頁