Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> Android

Ví dụ cụ thể triển khai WebView trong Android

WebView là gì?

WebView là subclass của View, dùng để hiển thị nội dung HTML hoặc trang web bên trong ứng dụng Android.

Các phương thức phổ biến

Phương thứcChức năng
clearHistory()Xóa lịch sử điều hướng
destroy()Hủy trạng thái nội bộ
getUrl()Lấy URL hiện tại
getTitle()Lấy tiêu đề trang
canGoBack()Kiểm tra có thể quay lại không

Mở link trong WebView (không ra trình duyệt ngoài)

private class MyWebViewClient extends WebViewClient {
    @Override
    public boolean shouldOverrideUrlLoading(WebView view, String url) {
        return false; // Load trong WebView
    }
}

Ví dụ hoàn chỉnh

Bước 1: Tạo project Android Studio

Bước 2: Layout activity_main.xml

<WebView
    android:id="@+id/webView"
    android:layout_width="match_parent"
    android:layout_height="match_parent" />

Bước 3: MainActivity.java

public class MainActivity extends AppCompatActivity {
    private WebView simpleWebView;
    private ProgressBar loadProgress;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        
        simpleWebView = findViewById(R.id.webView);
        simpleWebView.setWebViewClient(new WebViewClient());
        
        WebSettings settings = simpleWebView.getSettings();
        settings.setLoadsImagesAutomatically(true);
        settings.setJavaScriptEnabled(true);
        settings.setBuiltInZoomControls(true);
        settings.setSupportZoom(true);
        settings.setLoadWithOverviewMode(true);
        settings.setUseWideViewPort(true);
        settings.setAllowContentAccess(true);
        
        simpleWebView.loadUrl("https://www.tutorialspoint.com/");
    }

    @Override
    public void onBackPressed() {
        if (simpleWebView.canGoBack()) {
            simpleWebView.goBack(); // Quay lại lịch sử WebView
        } else {
            super.onBackPressed(); // Thoát app
        }
    }
}

Bước 4: AndroidManifest.xml - Permission Internet

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

Bước 5: Chạy thử

WebView load TutorialsPoint. Nhấn link HTML → hiển thị trong WebView:

Ví dụ cụ thể triển khai WebView trong Android Ví dụ cụ thể triển khai WebView trong Android

Best Practices hiện đại

  • Dùng WebViewClientCompat (AndroidX) để tương thích ngược.
  • Bật setMixedContentMode(WebSettings.MIXED_CONTENT_COMPATIBILITY_MODE) cho HTTPS load HTTP resource.
  • Xử lý SSL error an toàn (không bypass production).
  • Cân nhắc Chrome Custom Tabs cho auth/external link - UX tốt hơn.