Webview là một widget dùng để nhúng nội dung trang web vào ứng dụng, có thể load từ URL hoặc từ chuỗi có sẵn.

Các bước thao tác tạo Webview:

1. Trong layout nhúng vào 1 thẻ Webview và đặt ID cho thẻ này là mWebview

<Webview 
android:id="@+id/mWebview" 
android:layout_height="451dp"
android:layout_width="match_parent"/>

2. Trong activity viết code java như sau:

     WebView mWebView = findViewById(R.id.mWebview);

        // cho phép javascript hoạt động
        mWebView.getSettings().setJavaScriptEnabled(true);

        final Activity activity = this;

        mWebView.setWebChromeClient(new WebChromeClient(){
            @Override
            public void onProgressChanged(WebView view, int newProgress) {
                Log.d("zzzzzzzzz", "onProgressChanged: " + newProgress); // xem log tiến trình load
                super.onProgressChanged(view, newProgress);
            }
        });

        mWebView.setWebViewClient( new WebViewClient(){
            @Override
            public void onReceivedError(WebView view, WebResourceRequest request, WebResourceError error) {
                super.onReceivedError(view, request, error);
// hiển thị lỗi nếu có lỗi xảy ra
                Toast.makeText(activity, error.getDescription() , Toast.LENGTH_SHORT).show();
            }
        });
        // load web online
      mWebView.loadUrl("https://zezo.dev");

3. Cấp quyền và chạy thử ứng dụng

<uses-permission android:name="android.permission.INTERNET" />

4. Nếu muốn load nội dung từ file HTML có sẵn thì copy file html vào trong thư mục asset

Tạo thư mục ass bằng cách kích phải chuột lên thư mục app –> new –> folder –> asset folder   –> để mặc định bấm finish.

Tiếp theo copy file html vào thư mục assets vừa sinh ra

Tiếp theo trong code java ở trên sửa đoạn code loadUrl thành code dưới đây

 // load từ file asset
        mWebView.loadUrl("file:///android_asset/a.html");

ở code của bạn thì phải thay thế tên file a.html thành file html của bạn, còn chuỗi android_asset thì bạn để nguyên.

Bạn có thể tạo thư mục con trong thư mục asset để chứa ảnh và nhúng vào html.

Chú ý phải khai báo sử dụng quyền trong mainifest nhé